home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / program / mui32dev.lha / MUI / Developer / Assembler / Include / libraries / mui.i < prev   
Text File  |  1996-01-30  |  107KB  |  3,386 lines

  1. ****************************************************************************
  2. **
  3. ** MUI - MagicUserInterface
  4. ** (c) 1993-95 by Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. *** Assembler modifications 26-Aug-93 by Henri Veisterä.
  9. ** 
  10. *** Updated for MUI V2.2 25-Aug-94 by Paul Hickman.
  11. **
  12. **  Updated for MUI V3.1 and Assembler modifications 17-Dec-95 by
  13. **  Stefan Sommerfeld
  14. **
  15. ****************************************************************************
  16. ** General Header File Information
  17. ****************************************************************************
  18. **
  19. ** All macro and structure definitions follow these rules:
  20. **
  21. ** Name                       Meaning
  22. **
  23. ** MUIC_<class>               Name of a class
  24. ** MUIM_<class>_<method>      Method
  25. ** MUIP_<class>_<method>      Methods parameter structure
  26. ** MUIV_<class>_<method>_<x>  Special method value
  27. ** MUIA_<class>_<attrib>      Attribute
  28. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  29. ** MUIE_<error>               Error return code from MUI_Error()
  30. ** MUII_<name>                Standard MUI image
  31. ** MUIX_<code>                Control codes for text strings
  32. ** MUIO_<name>                Object type for MUI_MakeObject()
  33. **
  34. ** MUIA_... attribute definitions are followed by a comment
  35. ** consisting of the three possible letters I, S and G.
  36. ** I: it's possible to specify this attribute at object creation time.
  37. ** S: it's possible to change this attribute with SetAttrs().
  38. ** G: it's possible to get this attribute with GetAttr().
  39. **
  40. ** Items marked with "Custom Class" are for use in custom classes only!
  41. */
  42.  
  43.  
  44.  
  45.    IFND LIBRARIES_MUI_I
  46. LIBRARIES_MUI_I SET 1
  47.  
  48.    IFND EXEC_TYPES_I
  49.    INCLUDE "exec/types.i"
  50.    ENDC  ;EXEC_TYPES_I
  51.  
  52.    IFND EXEC_TASKS_I
  53.    INCLUDE "exec/tasks.i"
  54.    ENDC  ;EXEC_TASKS_I
  55.  
  56.    IFND INTUITION_CLASSES_I
  57.    INCLUDE "intuition/classes.i"
  58.    ENDC  ;INTUITION_CLASSES_I
  59.  
  60.    IFND INTUITION_SCREENS_I
  61.    INCLUDE "intuition/screens.i"
  62.    ENDC  ;INTUITION_SCREENS_I
  63.  
  64.    IFND UTILITY_HOOKS_I
  65.    INCLUDE "utility/hooks.i"
  66.    ENDC  ;UTILITY_HOOKS_I
  67.  
  68.    IFND LIBRARIES_ASL_I
  69.    INCLUDE "libraries/asl.i"
  70.    ENDC
  71.  
  72.  
  73. ****************************************************************************
  74. ** Library specification
  75. ****************************************************************************
  76.  
  77. MUIMASTER_NAME MACRO
  78.          dc.b     "muimaster.library",0
  79.          even
  80.          ENDM
  81. MUIMASTER_VMIN EQU 13
  82. CALLMUI  MACRO   ; Func
  83.          move.l   _MUIMasterBase,a6
  84.          jsr      _LVO\1(a6)
  85.          ENDM
  86. NULL     EQU      0
  87. TRUE     EQU      1
  88. FALSE    EQU      NULL
  89.  
  90.  
  91. *************************************************************************
  92. ** Config items for MUIM_GetConfigItem
  93. *************************************************************************
  94.  
  95.  
  96. MUICFG_PublicScreen    = 36
  97.  
  98.  
  99. *************************************************************************
  100. ** Black box specification structures for images, pens, frames
  101. *************************************************************************
  102.  
  103.  STRUCTURE MUI_PenSpec,0
  104.    BYTE     mp_buf,32
  105.    LABEL    MUI_PenSpec_SIZEOF
  106.  
  107.  
  108. ****************************************************************************
  109. **
  110. ** For Boopsi Image Implementors Only:
  111. **
  112. ** If MUI is using a boopsi image object, it will send a special method
  113. ** immediately after object creation. This method has a parameter structure
  114. ** where the boopsi can fill in its minimum and maximum size and learn if
  115. ** its used in a horizontal or vertical context.
  116. **
  117. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  118. ** value. That's how MUI sees that the method is implemented.
  119. **
  120. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  121. **       implement it, minimum size will be 0 and maximum size unlimited.
  122. **
  123. ***************************************************************************/
  124.  
  125. MUIM_BoopsiQuery EQU      $80427157 ;* this is send to the boopsi and *
  126.                                     ;* must be used as return value   *
  127.  
  128.  STRUCTURE MUI_BoopsiQuery,0              ;* parameter structure *
  129.  
  130.  LONG     mbq_MethodID             ;* always MUIM_BoopsiQuery */
  131.  APTR     mbq_Screen               ;* obsolete, use mbq_RenderInfo */
  132.  LONG     mbq_Flags;               ;* read only, see below */
  133.  LONG     mbq_MinWidth             ;* write only, fill in min width  */
  134.  LONG     mbq_MinHeight             ;* write only, fill in min height */
  135.  LONG           mbq_MaxWidth             ;* write only, fill in max width  */
  136.  LONG           mbq_MaxHeight            ;* write only, fill in max height */
  137.  LONG           mbq_DefWidth             ;* write only, fill in def width  */
  138.  LONG           mbq_DefHeight            ;* write only, fill in def height */
  139.  APTR           mbq_RenderInfo             ;* read only, display context */
  140.  
  141.  LABEL MUI_BoopsiQuery_SIZEOF             ;* may grow in future ... */
  142.  
  143.  
  144. MUIP_BoopsiQuery EQU MUI_BoopsiQuery  ;* old structure name *
  145.  
  146. MBQF_HORIZ EQU 1<<0                   ;* object used in a horizontal *
  147.                                       ;* context (else vertical)     *
  148.  
  149. MBQ_MUI_MAXMAX EQU 10000              ;* use this for unlimited MaxWidth/Height *
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157. *************************************************************************
  158. ** Structures and Macros for creating custom classes.
  159. *************************************************************************
  160.  
  161.  
  162. *
  163. ** GENERAL NOTES:
  164. **
  165. ** - Everything described in this header file is only valid within
  166. **   MUI classes. You may never use any of these things out of
  167. **   a class, e.g. in a traditional MUI application.
  168. **
  169. ** - Except when otherwise stated, all structures are strictly read only.
  170. *
  171.  
  172.  
  173. * Global information for every object *
  174.  
  175.  STRUCTURE MUI_GlobalInfo,0
  176.  
  177.  LONG priv0
  178.  APTR mgi_ApplicationObject
  179.  
  180.  * ... private data follows ... *
  181.  
  182.  
  183.  
  184.  
  185. * Instance data of notify class *
  186.  
  187.  STRUCTURE MUI_NotifyData,0
  188.  
  189.  APTR mnd_GlobalInfo
  190.  LONG mnd_UserData
  191.  LONG priv1
  192.  LONG priv2
  193.  LONG priv3
  194.  LONG priv4
  195.  LONG priv5
  196.  
  197.  LABEL MUI_NotifyData_SIZEOF
  198.  
  199.  
  200. * MUI_MinMax structure holds information about minimum, maximum
  201. * and default dimensions of an object. *
  202.  
  203.  STRUCTURE MUI_MinMax,0
  204.  
  205.  WORD MinWidth
  206.  WORD MinHeight
  207.  WORD MaxWidth
  208.  WORD MaxHeight
  209.  WORD DefWidth
  210.  WORD DefHeight
  211.  
  212.  LABEL MUI_MinMax_SIZEOF
  213.  
  214.  
  215. MUI_MAXMAX EQU 10000 * use this if a dimension is not limited. *
  216.  
  217. * Hook message for custom layout *
  218.  
  219.  STRUCTURE MUI_LayoutMsg,0
  220.  
  221.  ULONG lm_Type;     * type of message (see defines below)                      *
  222.  STRUCT lm_Children,MUI_MinMax_SIZEOF   * list of this groups children, traverse with NextObject() */
  223.  STRUCT lm_MinMax,MUI_MinMax_SIZEOF     * results for MUILM_MINMAX                                 */
  224.  LONG Width
  225.  LONG Height
  226.  LABEL MUI_LayoutMsg_SIZEOF
  227.  
  228.  
  229. MUILM_MINMAX        EQU 1  * MUI wants you to calc your min & max sizes
  230. MUILM_LAYOUT        EQU 2  * MUI wants you to layout your children
  231. MUILM_UNKNOWN        EQU -1 * return this if your hook doesn't implement lm_Type
  232.  
  233.  
  234. * (partial) instance data of area class *
  235.  
  236.  STRUCTURE MUI_AreaData,0
  237.  
  238.  APTR mad_RenderInfo    ;* RenderInfo for this object *
  239.  ULONG priv6        ;
  240.  APTR mad_Font        ;* Font *
  241.  STRUCT mad_MinMax,MUI_MinMax_SIZEOF    ;* min/max/default sizes *
  242.  STRUCT mad_Box,ibox_SIZEOF    ;* position and dimension *
  243.  BYTE mad_addleft    ;* frame & innerspacing left offset *
  244.  BYTE mad_addtop    ;* frame & innerspacing top offset  *
  245.  BYTE mad_subwidth    ;* frame & innerspacing add. width  *
  246.  BYTE mad_subheight    ;* frame & innerspacing add. height *
  247.  LONG mad_Flags        ;* see definitions below *
  248.  
  249.         ;* ... private data follows ... *
  250.  
  251.  
  252. * Definitions for mad_Flags, other flags are private *
  253.  
  254. MADF_DRAWOBJECT    EQU         1<<0   * completely redraw yourself *
  255. MADF_DRAWUPDATE EQU         1<<1   * only update yourself *
  256.  
  257.  
  258.  
  259.  
  260. * MUI's draw pens *
  261.  
  262. MPEN_SHINE    EQU      0
  263. MPEN_HALFSHINE    EQU      1
  264. MPEN_BACKGROUND EQU      2
  265. MPEN_HALFSHADOW EQU      3
  266. MPEN_SHADOW    EQU      4
  267. MPEN_TEXT    EQU      5
  268. MPEN_FILL    EQU      6
  269. MPEN_MARK    EQU      7
  270. MPEN_COUNT    EQU      8
  271.  
  272. * Mask for pens from MUI_ObtainPen()
  273.  
  274. MUIPEN_MASK    EQU $0000ffff
  275.  
  276.  
  277. * Information on display environment *
  278.  
  279.  STRUCTURE MUI_RenderInfo,0
  280.  
  281.  APTR mri_WindowObject    ;* valid between MUIM_Setup/MUIM_Cleanup *
  282.  APTR mri_Screen    ;* valid between MUIM_Setup/MUIM_Cleanup *
  283.  APTR mri_DrawInfo    ;* valid between MUIM_Setup/MUIM_Cleanup *
  284.  WORD mri_Pens        ;* valid between MUIM_Setup/MUIM_Cleanup *
  285.  APTR mri_Window    ;* valid between MUIM_Show/MUIM_Hide *
  286.  APTR mri_RastPort    ;* valid between MUIM_Show/MUIM_Hide *
  287.  
  288.         ;* ... private data follows ... *
  289.  
  290.  
  291. *
  292. ** If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
  293. ** than Move()/Draw() for horizontal or vertical lines.
  294. ** on the current display.
  295. *
  296. MUIMRI_RECTFILL        EQU 1<<0
  297.  
  298. *
  299. ** If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
  300. ** cybergraphics emulated hicolor or true color display with
  301. ** an unlimited number of pens available. Obtain/ReleasePen()s
  302. ** as many as you want... :-)
  303. *
  304. MUIMRI_TRUECOLOR    EQU 1<<1
  305.  
  306. *
  307. ** If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
  308. ** (1:1) apsect ratio instead of standard 2:1 frames.
  309. *
  310. MUIMRI_THINFRAMES    EQU 1<<2
  311.  
  312. *
  313. ** If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
  314. ** refreshing a WFLG_SIMPLEREFRESH window and is between
  315. ** a BeginRefresh()/EndRefresh() pair.
  316. *
  317. MUIMRI_REFRESHMODE    EQU 1<<3
  318.  
  319.  
  320. * the following macros can be used to get pointers to an objects
  321. *   GlobalInfo and RenderInfo structures. */
  322. *
  323. *NOTE: These have not been converted from the C header.
  324. ;
  325. ;struct __dummyXFC2__ {
  326. ;
  327. ; STRUCT MUI_NotifyData mnd;
  328. ;    struct MUI_AreaData   mad;
  329. ;};
  330. ;
  331. ;#define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
  332. ;#define muiAreaData(obj)   (&(((struct __dummyXFC2__ *)(obj))->mad))
  333. ;
  334. ;define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
  335. ;#define muiUserData(obj)   (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
  336. ;#define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
  337.  
  338.  
  339.  
  340. * User configurable keyboard events coming with MUIM_HandleInput *
  341.  
  342.  
  343. MUIKEY_RELEASE         EQU -2 * not a real key, faked when MUIKEY_PRESS is released *
  344. MUIKEY_NONE            EQU -1 
  345. MUIKEY_PRESS        EQU  0
  346. MUIKEY_TOGGLE        EQU  1
  347. MUIKEY_UP        EQU  2        
  348. MUIKEY_DOWN        EQU  3
  349. MUIKEY_PAGEUP        EQU  4
  350. MUIKEY_PAGEDOWN        EQU  5
  351. MUIKEY_TOP        EQU  6
  352. MUIKEY_BOTTOM        EQU  7
  353. MUIKEY_LEFT        EQU  8
  354. MUIKEY_RIGHT        EQU  9
  355. MUIKEY_WORDLEFT        EQU 10
  356. MUIKEY_WORDRIGHT    EQU 11
  357. MUIKEY_LINESTART    EQU 12
  358. MUIKEY_LINEEND        EQU 13
  359. MUIKEY_GADGET_NEXT    EQU 14
  360. MUIKEY_GADGET_PREV    EQU 15
  361. MUIKEY_GADGET_OFF    EQU 16
  362. MUIKEY_WINDOW_CLOSE    EQU 17
  363. MUIKEY_WINDOW_NEXT    EQU 18
  364. MUIKEY_WINDOW_PREV    EQU 19
  365. MUIKEY_HELP        EQU 20
  366. MUIKEY_POPUP        EQU 21
  367. MUIKEY_COUNT         EQU 22 * counter *
  368.  
  369.  
  370. ********************************************************************
  371. * Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *
  372.  
  373. * I Have left the original C macros here, so you can see what they are
  374. * for, but I have not converted them to assembler.
  375. *
  376. *
  377.  
  378. ;#define _app(obj)         (muiGlobalInfo(obj)->mgi_ApplicationObject)
  379. ;#define _win(obj)         (muiRenderInfo(obj)->mri_WindowObject)
  380. ;#define _dri(obj)         (muiRenderInfo(obj)->mri_DrawInfo)
  381. ;#define _window(obj)      (muiRenderInfo(obj)->mri_Window)
  382. ;#define _screen(obj)      (muiRenderInfo(obj)->mri_Screen)
  383. ;#define _rp(obj)          (muiRenderInfo(obj)->mri_RastPort)
  384. ;#define _left(obj)        (muiAreaData(obj)->mad_Box.Left)
  385. ;#define _top(obj)         (muiAreaData(obj)->mad_Box.Top)
  386. ;#define _width(obj)       (muiAreaData(obj)->mad_Box.Width)
  387. ;#define _height(obj)      (muiAreaData(obj)->mad_Box.Height)
  388. ;#define _right(obj)       (_left(obj)+_width(obj)-1)
  389. ;#define _bottom(obj)      (_top(obj)+_height(obj)-1)
  390. ;#define _addleft(obj)     (muiAreaData(obj)->mad_addleft  )
  391. ;#define _addtop(obj)      (muiAreaData(obj)->mad_addtop   )
  392. ;#define _subwidth(obj)    (muiAreaData(obj)->mad_subwidth )
  393. ;#define _subheight(obj)   (muiAreaData(obj)->mad_subheight)
  394. ;#define _mleft(obj)       (_left(obj)+_addleft(obj))
  395. ;#define _mtop(obj)        (_top(obj)+_addtop(obj))
  396. ;#define _mwidth(obj)      (_width(obj)-_subwidth(obj))
  397. ;#define _mheight(obj)     (_height(obj)-_subheight(obj))
  398. ;#define _mright(obj)      (_mleft(obj)+_mwidth(obj)-1)
  399. ;#define _mbottom(obj)     (_mtop(obj)+_mheight(obj)-1)
  400. ;#define _font(obj)        (muiAreaData(obj)->mad_Font)
  401. ;#define _flags(obj)       (muiAreaData(obj)->mad_Flags)
  402.  
  403.  
  404.  
  405.  
  406.  
  407. * MUI_CustomClass returned by MUI_CreateCustomClass() *
  408.  
  409.  STRUCTURE MUI_CustomClass,0
  410.  
  411.  APTR mcc_UserData    ;* use for whatever you want *
  412.  
  413.  APTR mcc_UtilityBase    ;* MUI has opened these libraries *
  414.  APTR mcc_DOSBase    ;* for you automatically. You can *
  415.  APTR mcc_GfxBase    ;* use them or decide to open     *
  416.  APTR mcc_IntuitionBase    ;* your libraries yourself.       *
  417.  
  418.  APTR mcc_Super        ;* pointer to super class   *
  419.  APTR mcc_Class        ;* pointer to the new class *
  420.  
  421.         ;* ... private data follows ... *
  422.  
  423. *************************************************************************
  424. ** Public Screen Stuff
  425. *************************************************************************
  426.  
  427. *
  428. ** NOTE: This stuff is only included to allow compilation of the supplied
  429. **       public screen manager for educational purposes. Everything
  430. **       here is subject to change without notice and I guarantee to
  431. **       do that just for fun!
  432. **       More info can be found in the screen manager source file.
  433. *
  434.  
  435. * The folowing labels are strings. You have to copy they to your source
  436. * if you want to use they.
  437.  
  438. ;PSD_INITIAL_NAME    dc.b    "(unnamed)",0
  439. ;PSD_INITIAL_TITLE    dc.b    "MUI Public Screen",0
  440. ;PSD_ID_MPUB        dc.l    'MPUB'
  441.  
  442. ;PSD_NAME_FRONTMOST    dc.b    "«Frontmost»",0
  443.  
  444. ;PSD_FILENAME_SAVE    dc.b    "envarc:mui/PublicScreens.iff",0
  445. ;PSD_FILENAME_USE    dc.b    "env:mui/PublicScreens.iff",0
  446.  
  447. PSD_MAXLEN_NAME            = 32
  448. PSD_MAXLEN_TITLE        = 128
  449. PSD_MAXLEN_FONT            = 48
  450. PSD_MAXLEN_BACKGROUND        = 256
  451. PSD_MAXSYSPENS            = 20
  452. PSD_NUMSYSPENS            = 12
  453. PSD_MAXMUIPENS            = 10
  454. PSD_NUMMUIPENS            = MPEN_COUNT
  455.  
  456.  STRUCTURE MUI_RGBcolor,0
  457.    ULONG red
  458.    ULONG green
  459.    ULONG blue
  460.    LABEL MUI_RGBcolor_SIZEOF
  461.  
  462.  STRUCTURE MUI_PubScreenDesc,0
  463.  
  464.    LONG  Version
  465.  
  466.    BYTE  Name,PSD_MAXLEN_NAME
  467.    BYTE  Title,PSD_MAXLEN_TITLE
  468.    BYTE  Font,PSD_MAXLEN_FONT
  469.    BYTE  Background,PSD_MAXLEN_BACKGROUND
  470.  
  471.    ULONG DisplayID
  472.  
  473.    UWORD DisplayWidth
  474.    UWORD DisplayHeight
  475.  
  476.    UBYTE DisplayDepth
  477.    UBYTE OverscanType
  478.    UBYTE AutoScroll
  479.    UBYTE NoDrag
  480.    UBYTE Exclusive
  481.    UBYTE Interleaved
  482.    UBYTE SysDefault
  483.    UBYTE Behind
  484.    UBYTE AutoClose
  485.    UBYTE CloseGadget
  486.    UBYTE Foreign
  487.    UBYTE Reserved,1+7*4
  488.  
  489.    STRUCT MUIPens,MUI_PenSpec_SIZEOF*PSD_MAXSYSPENS
  490.    STRUCT SysPens,MUI_RGBcolor_SIZEOF*PSD_MAXMUIPENS
  491.  
  492.    LONG Changed
  493.    APTR UserData
  494.    LABEL MUI_PubScreenDesc_SIZEOF
  495.  
  496.  STRUCTURE MUIS_InfoClient,MN_SIZE
  497.  
  498.   STRUCT Task,TC_SIZE
  499.   ULONG  muiic_sigbit
  500.   LABEL  MUIS_InfoClient_SIZEOF
  501.  
  502.  
  503. ***************************************************************************
  504. ** Object Types for MUI_MakeObject()
  505. ***************************************************************************
  506.  
  507. MUIO_Label        EQU    1   * STRPTR label, ULONG flags 
  508. MUIO_Button       EQU    2   * STRPTR label 
  509. MUIO_Checkmark    EQU    3   * STRPTR label
  510. MUIO_Cycle        EQU    4   * STRPTR label, STRPTR *entries 
  511. MUIO_Radio        EQU    5   * STRPTR label, STRPTR *entries 
  512. MUIO_Slider       EQU    6   * STRPTR label, LONG min, LONG max 
  513. MUIO_String       EQU    7   * STRPTR label, LONG maxlen 
  514. MUIO_PopButton    EQU    8   * STRPTR imagespec 
  515. MUIO_HSpace       EQU    9   * LONG space   
  516. MUIO_VSpace       EQU    10   * LONG space   
  517. MUIO_HBar         EQU    11   * LONG space   
  518. MUIO_VBar         EQU    12   * LONG space   
  519. MUIO_MenustripNM  EQU    13   * struct NewMenu .*ULONG flags 
  520. MUIO_Menuitem     EQU    14   * STRPTR label, STRPTR shortcut, ULONG flags, ULONG data 
  521. MUIO_BarTitle     EQU    15   * STRPTR label 
  522. MUIO_NumericButton  EQU    16   * STRPTR label, LONG min, LONG max, STRPTR format
  523.  
  524. MUIO_Label_SingleFrame EQU    1<<8
  525. MUIO_Label_DoubleFrame EQU    1<<9
  526. MUIO_Label_LeftAligned EQU    1<<10
  527. MUIO_Label_Centered    EQU    1<<11
  528. MUIO_Label_FreeVert    EQU    1<<12
  529.  
  530. MUIO_MenustripNM_CommandKeyCheck EQU    1<<0 * check for "localized" menu items such as "O\0Open"
  531.  
  532.  
  533. ****************************************************************************
  534. ** ARexx Interface
  535. ****************************************************************************
  536.  
  537.  STRUCTURE MUI_Command,0
  538.    APTR     mc_Name
  539.    APTR     mc_Template
  540.    LONG     mc_Parameters
  541.    STRUCT   mc_Hook,h_SIZEOF
  542.    STRUCT   mc_Reserved,4*5
  543.    LABEL    MUI_Command_SIZEOF
  544.  
  545. MC_TEMPLATE_ID EQU ~0
  546.  
  547.  
  548. MUI_RXERR_BADDEFINITION  EQU    -1
  549. MUI_RXERR_OUTOFMEMORY    EQU    -2
  550. MUI_RXERR_UNKNOWNCOMMAND EQU    -3
  551. MUI_RXERR_BADSYNTAX      EQU    -4
  552.  
  553.  
  554.  
  555. ****************************************************************************
  556. ** Return values for MUI_Error()
  557. ****************************************************************************
  558.  
  559. MUIE_OK                    EQU 0
  560. MUIE_OutOfMemory           EQU 1
  561. MUIE_OutOfGfxMemory        EQU 2
  562. MUIE_InvalidWindowObject   EQU 3
  563. MUIE_MissingLibrary        EQU 4
  564. MUIE_NoARexx               EQU 5
  565. MUIE_SingleTask            EQU 6
  566.  
  567.  
  568.  
  569. ****************************************************************************
  570. ** Standard MUI Images
  571. ****************************************************************************
  572.  
  573. MUII_WindowBack        EQU 0
  574. MUII_RequesterBack    EQU 1
  575. MUII_ButtonBack        EQU 2
  576. MUII_ListBack        EQU 3
  577. MUII_TextBack        EQU 4
  578. MUII_PropBack        EQU 5
  579. MUII_PopupBack        EQU 6
  580. MUII_SelectedBack    EQU 7
  581. MUII_ListCursor        EQU 8
  582. MUII_ListSelect        EQU 9
  583. MUII_ListSelCur        EQU 10
  584. MUII_ArrowUp        EQU 11
  585. MUII_ArrowDown        EQU 12
  586. MUII_ArrowLeft        EQU 13
  587. MUII_ArrowRight        EQU 14
  588. MUII_CheckMark        EQU 15
  589. MUII_RadioButton    EQU 16
  590. MUII_Cycle        EQU 17
  591. MUII_PopUp        EQU 18
  592. MUII_PopFile        EQU 19
  593. MUII_PopDrawer        EQU 20
  594. MUII_PropKnob        EQU 21
  595. MUII_Drawer        EQU 22
  596. MUII_HardDisk        EQU 23
  597. MUII_Disk        EQU 24
  598. MUII_Chip        EQU 25
  599. MUII_Volume        EQU 26
  600. MUII_PopUpBack        EQU 27
  601. MUII_Network        EQU 28
  602. MUII_Assign        EQU 29
  603. MUII_TapePlay        EQU 30
  604. MUII_TapePlayBack    EQU 31
  605. MUII_TapePause        EQU 32
  606. MUII_TapeStop        EQU 33
  607. MUII_TapeRecord        EQU 34
  608. MUII_GroupBack        EQU 35
  609. MUII_SliderBack        EQU 36
  610. MUII_SliderKnob        EQU 37
  611. MUII_TapeUp        EQU 38
  612. MUII_TapeDown        EQU 39
  613. MUII_PageBack        EQU 40
  614. MUII_ReadListBack    EQU 41
  615. MUII_Count        EQU 42
  616.  
  617. MUII_BACKGROUND        EQU 128    * These are direct color
  618. MUII_SHADOW        EQU 129    * combinations and are not
  619. MUII_SHINE        EQU 130    * affected by users prefs.
  620. MUII_FILL        EQU 131
  621. MUII_SHADOWBACK        EQU 132    * Generally, you should
  622. MUII_SHADOWFILL        EQU 133    * avoid using them. Better
  623. MUII_SHADOWSHINE    EQU 134    * use one of the customized
  624. MUII_FILLBACK        EQU 135    * images above.
  625. MUII_FILLSHINE        EQU 136
  626. MUII_SHINEBACK        EQU 137
  627. MUII_FILLBACK2        EQU 138
  628. MUII_HSHINEBACK        EQU 139
  629. MUII_HSHADOWBACK    EQU 140
  630. MUII_HSHINESHINE    EQU 141
  631. MUII_HSHADOWSHADOW    EQU 142
  632. MUII_MARKSHINE        EQU 143
  633. MUII_MARKHALFSHINE    EQU 144
  634. MUII_MARKBACKGROUND    EQU 145
  635. MUII_LASTPAT        EQU 145
  636.  
  637.  
  638. ****************************************************************************
  639. ** Special values for some methods 
  640. ****************************************************************************
  641.  
  642. MUIV_TriggerValue       EQU $49893131
  643. MUIV_NotTriggerValue    EQU $49893133
  644. MUIV_EveryTime          EQU $49893131
  645.  
  646. MUIV_Notify_Self    EQU 1
  647. MUIV_Notify_Window    EQU 2
  648. MUIV_Notify_Application    EQU 3
  649. MUIV_Notify_Parent    EQU 4
  650.  
  651. MUIV_Application_Save_ENV    EQU 0
  652. MUIV_Application_Save_ENVARC    EQU ~0
  653. MUIV_Application_Load_ENV    EQU 0
  654. MUIV_Application_Load_ENVARC    EQU ~0
  655.  
  656. MUIV_Application_ReturnID_Quit    EQU -1
  657.  
  658. MUIV_List_Insert_Top        EQU 0
  659. MUIV_List_Insert_Active        EQU -1
  660. MUIV_List_Insert_Sorted        EQU -2
  661. MUIV_List_Insert_Bottom        EQU -3
  662.  
  663. MUIV_List_Remove_First        EQU 0
  664. MUIV_List_Remove_Active        EQU -1
  665. MUIV_List_Remove_Last        EQU -2
  666. MUIV_List_Remove_Selected    EQU -3
  667.  
  668. MUIV_List_Select_Off        EQU 0
  669. MUIV_List_Select_On        EQU 1
  670. MUIV_List_Select_Toggle        EQU 2
  671. MUIV_List_Select_Ask        EQU 3
  672.  
  673. MUIV_List_GetEntry_Active    EQU -1
  674. MUIV_List_Select_Active        EQU -1
  675. MUIV_List_Select_All        EQU -2
  676.  
  677. MUIV_List_Redraw_Active        EQU -1
  678. MUIV_List_Redraw_All        EQU -2
  679.  
  680. MUIV_List_Move_Top        EQU 0
  681. MUIV_List_Move_Active        EQU -1
  682. MUIV_List_Move_Bottom        EQU -2
  683. MUIV_List_Move_Next        EQU -3 * only valid for second parameter 
  684. MUIV_List_Move_Previous        EQU -4 * only valid for second parameter
  685.  
  686. MUIV_List_Exchange_Top        EQU  0
  687. MUIV_List_Exchange_Active    EQU -1
  688. MUIV_List_Exchange_Bottom    EQU -2
  689. MUIV_List_Exchange_Next        EQU -3 * only valid for second parameter
  690. MUIV_List_Exchange_Previous    EQU -4 * only valid for second parameter
  691.  
  692. MUIV_List_Jump_Top        EQU 0
  693. MUIV_List_Jump_Active        EQU -1
  694. MUIV_List_Jump_Bottom        EQU -2
  695. MUIV_List_Jump_Up        EQU -4
  696. MUIV_List_Jump_Down        EQU -3
  697.  
  698. MUIV_List_NextSelected_Start    EQU -1
  699. MUIV_List_NextSelected_End    EQU -1
  700.  
  701. MUIV_DragQuery_Refuse        EQU 0
  702. MUIV_DragQuery_Accept        EQU 1
  703.  
  704. MUIV_DragReport_Abort        EQU 0
  705. MUIV_DragReport_Continue    EQU 1
  706. MUIV_DragReport_Lock        EQU 2
  707. MUIV_DragReport_Refresh        EQU 3
  708.  
  709. ***************************************************************************
  710. ** Parameter structures for some classes
  711. ***************************************************************************/
  712.  
  713.  STRUCTURE MUI_Palette_Entry,0
  714.    LONG    mpe_ID
  715.    LONG    mpe_Red
  716.    LONG    mpe_Green
  717.    LONG    mpe_Blue
  718.    LONG    mpe_Group
  719.    LABEL   MUI_Palette_Entry_SIZEOF
  720.  
  721. MUIV_Palette_Entry_End EQU -1
  722.  
  723.  
  724.  STRUCTURE MUI_Scrmodelist_Entry,0
  725.    APTR     sme_Name
  726.    LONG     sme_ModeID
  727.    LABEL    MUI_Scrmodelist_Entry_SIZEOF
  728.  
  729.  
  730.  STRUCTURE MUI_InputHandlerNode,MN_SIZE
  731.    APTR     ihn_Object
  732.    ULONG    ihn_Signals
  733.    ULONG    ihn_Flags
  734.    ULONG    ihn_Method
  735.    LABEL    MUI_InputHandlerNode_SIZEOF
  736.  
  737.  
  738.  
  739.  
  740. ;*********************************************
  741. ;** Begin of automatic header file creation **
  742. ;*********************************************
  743.  
  744.  
  745.  
  746.  
  747. ;****************************************************************************
  748. ;** Notify                                                                 **
  749. ;****************************************************************************
  750.  
  751. ;** Methods **
  752.  
  753. MUIM_CallHook                       EQU $8042b96b ;** V4  **
  754. MUIM_Export                         EQU $80420f1c ;** V12 **
  755. MUIM_FindUData                      EQU $8042c196 ;** V8  **
  756. MUIM_GetUData                       EQU $8042ed0c ;** V8  **
  757. MUIM_Import                         EQU $8042d012 ;** V12 **
  758. MUIM_KillNotify                     EQU $8042d240 ;** V4  **
  759. MUIM_MultiSet                       EQU $8042d356 ;** V7  **
  760. MUIM_NoNotifySet                    EQU $8042216f ;** V9  **
  761. MUIM_Notify                         EQU $8042c9cb ;** V4  **
  762. MUIM_Set                            EQU $8042549a ;** V4  **
  763. MUIM_SetAsString                    EQU $80422590 ;** V4  **
  764. MUIM_SetUData                       EQU $8042c920 ;** V8  **
  765. MUIM_SetUDataOnce                   EQU $8042ca19 ;** V11 **
  766. MUIM_WriteLong                      EQU $80428d86 ;** V6  **
  767. MUIM_WriteString                    EQU $80424bf4 ;** V6  **
  768.  
  769. ;** Attributes **
  770.  
  771. MUIA_ApplicationObject              EQU $8042d3ee ;** V4  ..g Object *          **
  772. MUIA_AppMessage                     EQU $80421955 ;** V5  ..g struct AppMessage * **
  773. MUIA_HelpLine                       EQU $8042a825 ;** V4  isg LONG              **
  774. MUIA_HelpNode                       EQU $80420b85 ;** V4  isg STRPTR            **
  775. MUIA_NoNotify                       EQU $804237f9 ;** V7  .s. BOOL              **
  776. MUIA_Parent                         EQU $8042e35f ;** V11 ..g Object *          **
  777. MUIA_Revision                       EQU $80427eaa ;** V4  ..g LONG              **
  778. MUIA_UserData                       EQU $80420313 ;** V4  isg ULONG             **
  779. MUIA_Version                        EQU $80422301 ;** V4  ..g LONG              **
  780.  
  781.  
  782.  
  783. ;****************************************************************************
  784. ;** Family                                                                 **
  785. ;****************************************************************************
  786.  
  787. ;** Methods **
  788.  
  789. MUIM_Family_AddHead                 EQU $8042e200 ;** V8  **
  790. MUIM_Family_AddTail                 EQU $8042d752 ;** V8  **
  791. MUIM_Family_Insert                  EQU $80424d34 ;** V8  **
  792. MUIM_Family_Remove                  EQU $8042f8a9 ;** V8  **
  793. MUIM_Family_Sort                    EQU $80421c49 ;** V8  **
  794. MUIM_Family_Transfer                EQU $8042c14a ;** V8  **
  795.  
  796. ;** Attributes **
  797.  
  798. MUIA_Family_Child                   EQU $8042c696 ;** V8  i.. Object *          **
  799. MUIA_Family_List                    EQU $80424b9e ;** V8  ..g struct MinList *  **
  800.  
  801.  
  802.  
  803. ;****************************************************************************
  804. ;** Menustrip                                                              **
  805. ;****************************************************************************
  806.  
  807. ;** Methods **
  808.  
  809.  
  810. ;** Attributes **
  811.  
  812. MUIA_Menustrip_Enabled              EQU $8042815b ;** V8  isg BOOL              **
  813.  
  814.  
  815.  
  816. ;****************************************************************************
  817. ;** Menu                                                                   **
  818. ;****************************************************************************
  819.  
  820. ;** Methods **
  821.  
  822.  
  823. ;** Attributes **
  824.  
  825. MUIA_Menu_Enabled                   EQU $8042ed48 ;** V8  isg BOOL              **
  826. MUIA_Menu_Title                     EQU $8042a0e3 ;** V8  isg STRPTR            **
  827.  
  828.  
  829.  
  830. ;****************************************************************************
  831. ;** Menuitem                                                               **
  832. ;****************************************************************************
  833.  
  834. ;** Methods **
  835.  
  836.  
  837. ;** Attributes **
  838.  
  839. MUIA_Menuitem_Checked               EQU $8042562a ;** V8  isg BOOL              **
  840. MUIA_Menuitem_Checkit               EQU $80425ace ;** V8  isg BOOL              **
  841. MUIA_Menuitem_Enabled               EQU $8042ae0f ;** V8  isg BOOL              **
  842. MUIA_Menuitem_Exclude               EQU $80420bc6 ;** V8  isg LONG              **
  843. MUIA_Menuitem_Shortcut              EQU $80422030 ;** V8  isg STRPTR            **
  844. MUIA_Menuitem_Title                 EQU $804218be ;** V8  isg STRPTR            **
  845. MUIA_Menuitem_Toggle                EQU $80424d5c ;** V8  isg BOOL              **
  846. MUIA_Menuitem_Trigger               EQU $80426f32 ;** V8  ..g struct MenuItem * **
  847.  
  848. MUIV_Menuitem_Shortcut_Check        EQU -1
  849.  
  850.  
  851. ;****************************************************************************
  852. ;** Application                                                            **
  853. ;****************************************************************************
  854.  
  855. ;** Methods **
  856.  
  857. MUIM_Application_AddInputHandler    EQU $8042f099 ;** V11 **
  858. MUIM_Application_CheckRefresh       EQU $80424d68 ;** V11 **
  859. MUIM_Application_GetMenuCheck       EQU $8042c0a7 ;** V4  **
  860. MUIM_Application_GetMenuState       EQU $8042a58f ;** V4  **
  861. MUIM_Application_Input              EQU $8042d0f5 ;** V4  **
  862. MUIM_Application_InputBuffered      EQU $80427e59 ;** V4  **
  863. MUIM_Application_Load               EQU $8042f90d ;** V4  **
  864. MUIM_Application_NewInput           EQU $80423ba6 ;** V11 **
  865. MUIM_Application_OpenConfigWindow   EQU $804299ba ;** V11 **
  866. MUIM_Application_PushMethod         EQU $80429ef8 ;** V4  **
  867. MUIM_Application_RemInputHandler    EQU $8042e7af ;** V11 **
  868. MUIM_Application_ReturnID           EQU $804276ef ;** V4  **
  869. MUIM_Application_Save               EQU $804227ef ;** V4  **
  870. MUIM_Application_SetConfigItem      EQU $80424a80 ;** V11 **
  871. MUIM_Application_SetMenuCheck       EQU $8042a707 ;** V4  **
  872. MUIM_Application_SetMenuState       EQU $80428bef ;** V4  **
  873. MUIM_Application_ShowHelp           EQU $80426479 ;** V4  **
  874.  
  875. ;** Attributes **
  876.  
  877. MUIA_Application_Active             EQU $804260ab ;** V4  isg BOOL              **
  878. MUIA_Application_Author             EQU $80424842 ;** V4  i.g STRPTR            **
  879. MUIA_Application_Base               EQU $8042e07a ;** V4  i.g STRPTR            **
  880. MUIA_Application_Broker             EQU $8042dbce ;** V4  ..g Broker *          **
  881. MUIA_Application_BrokerHook         EQU $80428f4b ;** V4  isg struct Hook *     **
  882. MUIA_Application_BrokerPort         EQU $8042e0ad ;** V6  ..g struct MsgPort *  **
  883. MUIA_Application_BrokerPri          EQU $8042c8d0 ;** V6  i.g LONG              **
  884. MUIA_Application_Commands           EQU $80428648 ;** V4  isg struct MUI_Command * **
  885. MUIA_Application_Copyright          EQU $8042ef4d ;** V4  i.g STRPTR            **
  886. MUIA_Application_Description        EQU $80421fc6 ;** V4  i.g STRPTR            **
  887. MUIA_Application_DiskObject         EQU $804235cb ;** V4  isg struct DiskObject * **
  888. MUIA_Application_DoubleStart        EQU $80423bc6 ;** V4  ..g BOOL              **
  889. MUIA_Application_DropObject         EQU $80421266 ;** V5  is. Object *          **
  890. MUIA_Application_ForceQuit          EQU $804257df ;** V8  ..g BOOL              **
  891. MUIA_Application_HelpFile           EQU $804293f4 ;** V8  isg STRPTR            **
  892. MUIA_Application_Iconified          EQU $8042a07f ;** V4  .sg BOOL              **
  893. MUIA_Application_Menu               EQU $80420e1f ;** V4  i.g struct NewMenu *  **
  894. MUIA_Application_MenuAction         EQU $80428961 ;** V4  ..g ULONG             **
  895. MUIA_Application_MenuHelp           EQU $8042540b ;** V4  ..g ULONG             **
  896. MUIA_Application_Menustrip          EQU $804252d9 ;** V8  i.. Object *          **
  897. MUIA_Application_RexxHook           EQU $80427c42 ;** V7  isg struct Hook *     **
  898. MUIA_Application_RexxMsg            EQU $8042fd88 ;** V4  ..g struct RxMsg *    **
  899. MUIA_Application_RexxString         EQU $8042d711 ;** V4  .s. STRPTR            **
  900. MUIA_Application_SingleTask         EQU $8042a2c8 ;** V4  i.. BOOL              **
  901. MUIA_Application_Sleep              EQU $80425711 ;** V4  .s. BOOL              **
  902. MUIA_Application_Title              EQU $804281b8 ;** V4  i.g STRPTR            **
  903. MUIA_Application_UseCommodities     EQU $80425ee5 ;** V10 i.. BOOL              **
  904. MUIA_Application_UseRexx            EQU $80422387 ;** V10 i.. BOOL              **
  905. MUIA_Application_Version            EQU $8042b33f ;** V4  i.g STRPTR            **
  906. MUIA_Application_Window             EQU $8042bfe0 ;** V4  i.. Object *          **
  907. MUIA_Application_WindowList         EQU $80429abe ;** V13 ..g struct List *     **
  908.  
  909.  
  910.  
  911. ;****************************************************************************
  912. ;** Window                                                                 **
  913. ;****************************************************************************
  914.  
  915. ;** Methods **
  916.  
  917. MUIM_Window_GetMenuCheck            EQU $80420414 ;** V4  **
  918. MUIM_Window_GetMenuState            EQU $80420d2f ;** V4  **
  919. MUIM_Window_ScreenToBack            EQU $8042913d ;** V4  **
  920. MUIM_Window_ScreenToFront           EQU $804227a4 ;** V4  **
  921. MUIM_Window_SetCycleChain           EQU $80426510 ;** V4  **
  922. MUIM_Window_SetMenuCheck            EQU $80422243 ;** V4  **
  923. MUIM_Window_SetMenuState            EQU $80422b5e ;** V4  **
  924. MUIM_Window_ToBack                  EQU $8042152e ;** V4  **
  925. MUIM_Window_ToFront                 EQU $8042554f ;** V4  **
  926.  
  927. ;** Attributes **
  928.  
  929. MUIA_Window_Activate                EQU $80428d2f ;** V4  isg BOOL              **
  930. MUIA_Window_ActiveObject            EQU $80427925 ;** V4  .sg Object *          **
  931. MUIA_Window_AltHeight               EQU $8042cce3 ;** V4  i.g LONG              **
  932. MUIA_Window_AltLeftEdge             EQU $80422d65 ;** V4  i.g LONG              **
  933. MUIA_Window_AltTopEdge              EQU $8042e99b ;** V4  i.g LONG              **
  934. MUIA_Window_AltWidth                EQU $804260f4 ;** V4  i.g LONG              **
  935. MUIA_Window_AppWindow               EQU $804280cf ;** V5  i.. BOOL              **
  936. MUIA_Window_Backdrop                EQU $8042c0bb ;** V4  i.. BOOL              **
  937. MUIA_Window_Borderless              EQU $80429b79 ;** V4  i.. BOOL              **
  938. MUIA_Window_CloseGadget             EQU $8042a110 ;** V4  i.. BOOL              **
  939. MUIA_Window_CloseRequest            EQU $8042e86e ;** V4  ..g BOOL              **
  940. MUIA_Window_DefaultObject           EQU $804294d7 ;** V4  isg Object *          **
  941. MUIA_Window_DepthGadget             EQU $80421923 ;** V4  i.. BOOL              **
  942. MUIA_Window_DragBar                 EQU $8042045d ;** V4  i.. BOOL              **
  943. MUIA_Window_FancyDrawing            EQU $8042bd0e ;** V8  isg BOOL              **
  944. MUIA_Window_Height                  EQU $80425846 ;** V4  i.g LONG              **
  945. MUIA_Window_ID                      EQU $804201bd ;** V4  isg ULONG             **
  946. MUIA_Window_InputEvent              EQU $804247d8 ;** V4  ..g struct InputEvent * **
  947. MUIA_Window_IsSubWindow             EQU $8042b5aa ;** V4  isg BOOL              **
  948. MUIA_Window_LeftEdge                EQU $80426c65 ;** V4  i.g LONG              **
  949. MUIA_Window_Menu                    EQU $8042db94 ;** V4  i.. struct NewMenu *  **
  950. MUIA_Window_MenuAction              EQU $80427521 ;** V8  isg ULONG             **
  951. MUIA_Window_Menustrip               EQU $8042855e ;** V8  i.g Object *          **
  952. MUIA_Window_MouseObject             EQU $8042bf9b ;** V10 ..g Object *          **
  953. MUIA_Window_NeedsMouseObject        EQU $8042372a ;** V10 i.. BOOL              **
  954. MUIA_Window_NoMenus                 EQU $80429df5 ;** V4  is. BOOL              **
  955. MUIA_Window_Open                    EQU $80428aa0 ;** V4  .sg BOOL              **
  956. MUIA_Window_PublicScreen            EQU $804278e4 ;** V6  isg STRPTR            **
  957. MUIA_Window_RefWindow               EQU $804201f4 ;** V4  is. Object *          **
  958. MUIA_Window_RootObject              EQU $8042cba5 ;** V4  isg Object *          **
  959. MUIA_Window_Screen                  EQU $8042df4f ;** V4  isg struct Screen *   **
  960. MUIA_Window_ScreenTitle             EQU $804234b0 ;** V5  isg STRPTR            **
  961. MUIA_Window_SizeGadget              EQU $8042e33d ;** V4  i.. BOOL              **
  962. MUIA_Window_SizeRight               EQU $80424780 ;** V4  i.. BOOL              **
  963. MUIA_Window_Sleep                   EQU $8042e7db ;** V4  .sg BOOL              **
  964. MUIA_Window_Title                   EQU $8042ad3d ;** V4  isg STRPTR            **
  965. MUIA_Window_TopEdge                 EQU $80427c66 ;** V4  i.g LONG              **
  966. MUIA_Window_UseBottomBorderScroller EQU $80424e79 ;** V13 is. BOOL              **
  967. MUIA_Window_UseLeftBorderScroller   EQU $8042433e ;** V13 is. BOOL              **
  968. MUIA_Window_UseRightBorderScroller  EQU $8042c05e ;** V13 is. BOOL              **
  969. MUIA_Window_Width                   EQU $8042dcae ;** V4  i.g LONG              **
  970. MUIA_Window_Window                  EQU $80426a42 ;** V4  ..g struct Window *   **
  971.  
  972. MUIV_Window_ActiveObject_None       EQU 0
  973. MUIV_Window_ActiveObject_Next       EQU -1
  974. MUIV_Window_ActiveObject_Prev       EQU -2
  975. MUIV_Window_AltHeightMinMax         EQU 0
  976. MUIV_Window_AltHeightVisible        EQU -100
  977. MUIV_Window_AltHeightScreen         EQU -200
  978. MUIV_Window_AltHeight_Scaled        EQU -1000
  979. MUIV_Window_AltLeftEdge_Centered    EQU -1
  980. MUIV_Window_AltLeftEdge_Moused      EQU -2
  981. MUIV_Window_AltLeftEdge_NoChange    EQU -1000
  982. MUIV_Window_AltTopEdge_Centered     EQU -1
  983. MUIV_Window_AltTopEdge_Moused       EQU -2
  984. MUIV_Window_AltTopEdgeDelta         EQU -3
  985. MUIV_Window_AltTopEdge_NoChange     EQU -1000
  986. MUIV_Window_AltWidthMinMax          EQU 0
  987. MUIV_Window_AltWidthVisible         EQU -100
  988. MUIV_Window_AltWidthScreen          EQU -200
  989. MUIV_Window_AltWidth_Scaled         EQU -1000
  990. MUIV_Window_HeightMinMax            EQU 0
  991. MUIV_Window_HeightVisible           EQU -100
  992. MUIV_Window_HeightScreen            EQU -200
  993. MUIV_Window_Height_Scaled           EQU -1000
  994. MUIV_Window_Height_Default          EQU -1001
  995. MUIV_Window_LeftEdge_Centered       EQU -1
  996. MUIV_Window_LeftEdge_Moused         EQU -2
  997. MUIV_Window_Menu_NoMenu             EQU -1
  998. MUIV_Window_TopEdge_Centered        EQU -1
  999. MUIV_Window_TopEdge_Moused          EQU -2
  1000. MUIV_Window_TopEdgeDelta            EQU -3
  1001. MUIV_Window_WidthMinMax             EQU 0
  1002. MUIV_Window_WidthVisible            EQU -100
  1003. MUIV_Window_WidthScreen             EQU -200
  1004. MUIV_Window_Width_Scaled            EQU -1000
  1005. MUIV_Window_Width_Default           EQU -1001
  1006.  
  1007.  
  1008. ;****************************************************************************
  1009. ;** Aboutmui                                                               **
  1010. ;****************************************************************************
  1011.  
  1012. ;** Methods **
  1013.  
  1014.  
  1015. ;** Attributes **
  1016.  
  1017. MUIA_Aboutmui_Application           EQU $80422523 ;** V11 i.. Object *          **
  1018.  
  1019.  
  1020.  
  1021. ;****************************************************************************
  1022. ;** Area                                                                   **
  1023. ;****************************************************************************
  1024.  
  1025. ;** Methods **
  1026.  
  1027. MUIM_AskMinMax                      EQU $80423874 ;** V4  **
  1028. MUIM_Cleanup                        EQU $8042d985 ;** V4  **
  1029. MUIM_ContextMenuBuild               EQU $80429d2e ;** V11 **
  1030. MUIM_ContextMenuChoice              EQU $80420f0e ;** V11 **
  1031. MUIM_DragBegin                      EQU $8042c03a ;** V11 **
  1032. MUIM_DragDrop                       EQU $8042c555 ;** V11 **
  1033. MUIM_DragFinish                     EQU $804251f0 ;** V11 **
  1034. MUIM_DragQuery                      EQU $80420261 ;** V11 **
  1035. MUIM_DragReport                     EQU $8042edad ;** V11 **
  1036. MUIM_Draw                           EQU $80426f3f ;** V4  **
  1037. MUIM_HandleInput                    EQU $80422a1a ;** V4  **
  1038. MUIM_Hide                           EQU $8042f20f ;** V4  **
  1039. MUIM_Setup                          EQU $80428354 ;** V4  **
  1040. MUIM_Show                           EQU $8042cc84 ;** V4  **
  1041.  
  1042. ;** Attributes **
  1043.  
  1044. MUIA_Background                     EQU $8042545b ;** V4  is. LONG              **
  1045. MUIA_BottomEdge                     EQU $8042e552 ;** V4  ..g LONG              **
  1046. MUIA_ContextMenu                    EQU $8042b704 ;** V11 isg Object *          **
  1047. MUIA_ContextMenuTrigger             EQU $8042a2c1 ;** V11 ..g Object *          **
  1048. MUIA_ControlChar                    EQU $8042120b ;** V4  isg char              **
  1049. MUIA_CycleChain                     EQU $80421ce7 ;** V11 isg LONG              **
  1050. MUIA_Disabled                       EQU $80423661 ;** V4  isg BOOL              **
  1051. MUIA_Draggable                      EQU $80420b6e ;** V11 isg BOOL              **
  1052. MUIA_Dropable                       EQU $8042fbce ;** V11 isg BOOL              **
  1053. MUIA_ExportID                       EQU $8042d76e ;** V4  isg ULONG             **
  1054. MUIA_FillArea                       EQU $804294a3 ;** V4  is. BOOL              **
  1055. MUIA_FixHeight                      EQU $8042a92b ;** V4  i.. LONG              **
  1056. MUIA_FixHeightTxt                   EQU $804276f2 ;** V4  i.. STRPTR            **
  1057. MUIA_FixWidth                       EQU $8042a3f1 ;** V4  i.. LONG              **
  1058. MUIA_FixWidthTxt                    EQU $8042d044 ;** V4  i.. STRPTR            **
  1059. MUIA_Font                           EQU $8042be50 ;** V4  i.g struct TextFont * **
  1060. MUIA_Frame                          EQU $8042ac64 ;** V4  i.. LONG              **
  1061. MUIA_FramePhantomHoriz              EQU $8042ed76 ;** V4  i.. BOOL              **
  1062. MUIA_FrameTitle                     EQU $8042d1c7 ;** V4  i.. STRPTR            **
  1063. MUIA_Height                         EQU $80423237 ;** V4  ..g LONG              **
  1064. MUIA_HorizDisappear                 EQU $80429615 ;** V11 isg LONG              **
  1065. MUIA_HorizWeight                    EQU $80426db9 ;** V4  isg WORD              **
  1066. MUIA_InnerBottom                    EQU $8042f2c0 ;** V4  i.g LONG              **
  1067. MUIA_InnerLeft                      EQU $804228f8 ;** V4  i.g LONG              **
  1068. MUIA_InnerRight                     EQU $804297ff ;** V4  i.g LONG              **
  1069. MUIA_InnerTop                       EQU $80421eb6 ;** V4  i.g LONG              **
  1070. MUIA_InputMode                      EQU $8042fb04 ;** V4  i.. LONG              **
  1071. MUIA_LeftEdge                       EQU $8042bec6 ;** V4  ..g LONG              **
  1072. MUIA_MaxHeight                      EQU $804293e4 ;** V11 i.. LONG              **
  1073. MUIA_MaxWidth                       EQU $8042f112 ;** V11 i.. LONG              **
  1074. MUIA_ObjectID                       EQU $8042d76e ;** V11 isg ULONG             **
  1075. MUIA_Pressed                        EQU $80423535 ;** V4  ..g BOOL              **
  1076. MUIA_RightEdge                      EQU $8042ba82 ;** V4  ..g LONG              **
  1077. MUIA_Selected                       EQU $8042654b ;** V4  isg BOOL              **
  1078. MUIA_ShortHelp                      EQU $80428fe3 ;** V11 isg STRPTR            **
  1079. MUIA_ShowMe                         EQU $80429ba8 ;** V4  isg BOOL              **
  1080. MUIA_ShowSelState                   EQU $8042caac ;** V4  i.. BOOL              **
  1081. MUIA_Timer                          EQU $80426435 ;** V4  ..g LONG              **
  1082. MUIA_TopEdge                        EQU $8042509b ;** V4  ..g LONG              **
  1083. MUIA_VertDisappear                  EQU $8042d12f ;** V11 isg LONG              **
  1084. MUIA_VertWeight                     EQU $804298d0 ;** V4  isg WORD              **
  1085. MUIA_Weight                         EQU $80421d1f ;** V4  i.. WORD              **
  1086. MUIA_Width                          EQU $8042b59c ;** V4  ..g LONG              **
  1087. MUIA_Window                         EQU $80421591 ;** V4  ..g struct Window *   **
  1088. MUIA_WindowObject                   EQU $8042669e ;** V4  ..g Object *          **
  1089.  
  1090. MUIV_Font_Inherit                   EQU 0
  1091. MUIV_Font_Normal                    EQU -1
  1092. MUIV_Font_List                      EQU -2
  1093. MUIV_Font_Tiny                      EQU -3
  1094. MUIV_Font_Fixed                     EQU -4
  1095. MUIV_Font_Title                     EQU -5
  1096. MUIV_Font_Big                       EQU -6
  1097. MUIV_Font_Button                    EQU -7
  1098. MUIV_Frame_None                     EQU 0
  1099. MUIV_Frame_Button                   EQU 1
  1100. MUIV_Frame_ImageButton              EQU 2
  1101. MUIV_Frame_Text                     EQU 3
  1102. MUIV_Frame_String                   EQU 4
  1103. MUIV_Frame_ReadList                 EQU 5
  1104. MUIV_Frame_InputList                EQU 6
  1105. MUIV_Frame_Prop                     EQU 7
  1106. MUIV_Frame_Gauge                    EQU 8
  1107. MUIV_Frame_Group                    EQU 9
  1108. MUIV_Frame_PopUp                    EQU 10
  1109. MUIV_Frame_Virtual                  EQU 11
  1110. MUIV_Frame_Slider                   EQU 12
  1111. MUIV_Frame_Count                    EQU 13
  1112. MUIV_InputMode_None                 EQU 0
  1113. MUIV_InputMode_RelVerify            EQU 1
  1114. MUIV_InputMode_Immediate            EQU 2
  1115. MUIV_InputMode_Toggle               EQU 3
  1116.  
  1117.  
  1118. ;****************************************************************************
  1119. ;** Rectangle                                                              **
  1120. ;****************************************************************************
  1121.  
  1122. ;** Attributes **
  1123.  
  1124. MUIA_Rectangle_BarTitle             EQU $80426689 ;** V11 i.g STRPTR            **
  1125. MUIA_Rectangle_HBar                 EQU $8042c943 ;** V7  i.g BOOL              **
  1126. MUIA_Rectangle_VBar                 EQU $80422204 ;** V7  i.g BOOL              **
  1127.  
  1128.  
  1129.  
  1130. ;****************************************************************************
  1131. ;** Balance                                                                **
  1132. ;****************************************************************************
  1133.  
  1134.  
  1135. ;****************************************************************************
  1136. ;** Image                                                                  **
  1137. ;****************************************************************************
  1138.  
  1139. ;** Attributes **
  1140.  
  1141. MUIA_Image_FontMatch                EQU $8042815d ;** V4  i.. BOOL              **
  1142. MUIA_Image_FontMatchHeight          EQU $80429f26 ;** V4  i.. BOOL              **
  1143. MUIA_Image_FontMatchWidth           EQU $804239bf ;** V4  i.. BOOL              **
  1144. MUIA_Image_FreeHoriz                EQU $8042da84 ;** V4  i.. BOOL              **
  1145. MUIA_Image_FreeVert                 EQU $8042ea28 ;** V4  i.. BOOL              **
  1146. MUIA_Image_OldImage                 EQU $80424f3d ;** V4  i.. struct Image *    **
  1147. MUIA_Image_Spec                     EQU $804233d5 ;** V4  i.. char *            **
  1148. MUIA_Image_State                    EQU $8042a3ad ;** V4  is. LONG              **
  1149.  
  1150.  
  1151.  
  1152. ;****************************************************************************
  1153. ;** Bitmap                                                                 **
  1154. ;****************************************************************************
  1155.  
  1156. ;** Attributes **
  1157.  
  1158. MUIA_Bitmap_Bitmap                  EQU $804279bd ;** V8  isg struct BitMap *   **
  1159. MUIA_Bitmap_Height                  EQU $80421560 ;** V8  isg LONG              **
  1160. MUIA_Bitmap_MappingTable            EQU $8042e23d ;** V8  isg UBYTE *           **
  1161. MUIA_Bitmap_Precision               EQU $80420c74 ;** V11 isg LONG              **
  1162. MUIA_Bitmap_RemappedBitmap          EQU $80423a47 ;** V11 ..g struct BitMap *   **
  1163. MUIA_Bitmap_SourceColors            EQU $80425360 ;** V8  isg ULONG *           **
  1164. MUIA_Bitmap_Transparent             EQU $80422805 ;** V8  isg LONG              **
  1165. MUIA_Bitmap_UseFriend               EQU $804239d8 ;** V11 i.. BOOL              **
  1166. MUIA_Bitmap_Width                   EQU $8042eb3a ;** V8  isg LONG              **
  1167.  
  1168.  
  1169.  
  1170. ;****************************************************************************
  1171. ;** Bodychunk                                                              **
  1172. ;****************************************************************************
  1173.  
  1174. ;** Attributes **
  1175.  
  1176. MUIA_Bodychunk_Body                 EQU $8042ca67 ;** V8  isg UBYTE *           **
  1177. MUIA_Bodychunk_Compression          EQU $8042de5f ;** V8  isg UBYTE             **
  1178. MUIA_Bodychunk_Depth                EQU $8042c392 ;** V8  isg LONG              **
  1179. MUIA_Bodychunk_Masking              EQU $80423b0e ;** V8  isg UBYTE             **
  1180.  
  1181.  
  1182.  
  1183. ;****************************************************************************
  1184. ;** Text                                                                   **
  1185. ;****************************************************************************
  1186.  
  1187. ;** Attributes **
  1188.  
  1189. MUIA_Text_Contents                  EQU $8042f8dc ;** V4  isg STRPTR            **
  1190. MUIA_Text_HiChar                    EQU $804218ff ;** V4  i.. char              **
  1191. MUIA_Text_PreParse                  EQU $8042566d ;** V4  isg STRPTR            **
  1192. MUIA_Text_SetMax                    EQU $80424d0a ;** V4  i.. BOOL              **
  1193. MUIA_Text_SetMin                    EQU $80424e10 ;** V4  i.. BOOL              **
  1194. MUIA_Text_SetVMax                   EQU $80420d8b ;** V11 i.. BOOL              **
  1195.  
  1196.  
  1197.  
  1198. ;****************************************************************************
  1199. ;** Gadget                                                                 **
  1200. ;****************************************************************************
  1201.  
  1202. ;** Attributes **
  1203.  
  1204. MUIA_Gadget_Gadget                  EQU $8042ec1a ;** V11 ..g struct Gadget *   **
  1205.  
  1206.  
  1207.  
  1208. ;****************************************************************************
  1209. ;** String                                                                 **
  1210. ;****************************************************************************
  1211.  
  1212. ;** Attributes **
  1213.  
  1214. MUIA_String_Accept                  EQU $8042e3e1 ;** V4  isg STRPTR            **
  1215. MUIA_String_Acknowledge             EQU $8042026c ;** V4  ..g STRPTR            **
  1216. MUIA_String_AdvanceOnCR             EQU $804226de ;** V11 isg BOOL              **
  1217. MUIA_String_AttachedList            EQU $80420fd2 ;** V4  i.. Object *          **
  1218. MUIA_String_BufferPos               EQU $80428b6c ;** V4  .sg LONG              **
  1219. MUIA_String_Contents                EQU $80428ffd ;** V4  isg STRPTR            **
  1220. MUIA_String_DisplayPos              EQU $8042ccbf ;** V4  .sg LONG              **
  1221. MUIA_String_EditHook                EQU $80424c33 ;** V7  isg struct Hook *     **
  1222. MUIA_String_Format                  EQU $80427484 ;** V4  i.g LONG              **
  1223. MUIA_String_Integer                 EQU $80426e8a ;** V4  isg ULONG             **
  1224. MUIA_String_LonelyEditHook          EQU $80421569 ;** V11 isg BOOL              **
  1225. MUIA_String_MaxLen                  EQU $80424984 ;** V4  i.g LONG              **
  1226. MUIA_String_Reject                  EQU $8042179c ;** V4  isg STRPTR            **
  1227. MUIA_String_Secret                  EQU $80428769 ;** V4  i.g BOOL              **
  1228.  
  1229. MUIV_String_Format_Left             EQU 0
  1230. MUIV_String_Format_Center           EQU 1
  1231. MUIV_String_Format_Right            EQU 2
  1232.  
  1233.  
  1234. ;****************************************************************************
  1235. ;** Boopsi                                                                 **
  1236. ;****************************************************************************
  1237.  
  1238. ;** Attributes **
  1239.  
  1240. MUIA_Boopsi_Class                   EQU $80426999 ;** V4  isg struct IClass *   **
  1241. MUIA_Boopsi_ClassID                 EQU $8042bfa3 ;** V4  isg char *            **
  1242. MUIA_Boopsi_MaxHeight               EQU $8042757f ;** V4  isg ULONG             **
  1243. MUIA_Boopsi_MaxWidth                EQU $8042bcb1 ;** V4  isg ULONG             **
  1244. MUIA_Boopsi_MinHeight               EQU $80422c93 ;** V4  isg ULONG             **
  1245. MUIA_Boopsi_MinWidth                EQU $80428fb2 ;** V4  isg ULONG             **
  1246. MUIA_Boopsi_Object                  EQU $80420178 ;** V4  ..g Object *          **
  1247. MUIA_Boopsi_Remember                EQU $8042f4bd ;** V4  i.. ULONG             **
  1248. MUIA_Boopsi_Smart                   EQU $8042b8d7 ;** V9  i.. BOOL              **
  1249. MUIA_Boopsi_TagDrawInfo             EQU $8042bae7 ;** V4  isg ULONG             **
  1250. MUIA_Boopsi_TagScreen               EQU $8042bc71 ;** V4  isg ULONG             **
  1251. MUIA_Boopsi_TagWindow               EQU $8042e11d ;** V4  isg ULONG             **
  1252.  
  1253.  
  1254.  
  1255. ;****************************************************************************
  1256. ;** Prop                                                                   **
  1257. ;****************************************************************************
  1258.  
  1259. ;** Attributes **
  1260.  
  1261. MUIA_Prop_Entries                   EQU $8042fbdb ;** V4  isg LONG              **
  1262. MUIA_Prop_First                     EQU $8042d4b2 ;** V4  isg LONG              **
  1263. MUIA_Prop_Horiz                     EQU $8042f4f3 ;** V4  i.g BOOL              **
  1264. MUIA_Prop_Slider                    EQU $80429c3a ;** V4  isg BOOL              **
  1265. MUIA_Prop_UseWinBorder              EQU $8042deee ;** V13 i.. LONG              **
  1266. MUIA_Prop_Visible                   EQU $8042fea6 ;** V4  isg LONG              **
  1267.  
  1268. MUIV_Prop_UseWinBorder_None         EQU 0
  1269. MUIV_Prop_UseWinBorder_Left         EQU 1
  1270. MUIV_Prop_UseWinBorder_Right        EQU 2
  1271. MUIV_Prop_UseWinBorder_Bottom       EQU 3
  1272.  
  1273.  
  1274. ;****************************************************************************
  1275. ;** Gauge                                                                  **
  1276. ;****************************************************************************
  1277.  
  1278. ;** Attributes **
  1279.  
  1280. MUIA_Gauge_Current                  EQU $8042f0dd ;** V4  isg LONG              **
  1281. MUIA_Gauge_Divide                   EQU $8042d8df ;** V4  isg BOOL              **
  1282. MUIA_Gauge_Horiz                    EQU $804232dd ;** V4  i.. BOOL              **
  1283. MUIA_Gauge_InfoText                 EQU $8042bf15 ;** V7  isg STRPTR            **
  1284. MUIA_Gauge_Max                      EQU $8042bcdb ;** V4  isg LONG              **
  1285.  
  1286.  
  1287.  
  1288. ;****************************************************************************
  1289. ;** Scale                                                                  **
  1290. ;****************************************************************************
  1291.  
  1292. ;** Attributes **
  1293.  
  1294. MUIA_Scale_Horiz                    EQU $8042919a ;** V4  isg BOOL              **
  1295.  
  1296.  
  1297.  
  1298. ;****************************************************************************
  1299. ;** Colorfield                                                             **
  1300. ;****************************************************************************
  1301.  
  1302. ;** Attributes **
  1303.  
  1304. MUIA_Colorfield_Blue                EQU $8042d3b0 ;** V4  isg ULONG             **
  1305. MUIA_Colorfield_Green               EQU $80424466 ;** V4  isg ULONG             **
  1306. MUIA_Colorfield_Pen                 EQU $8042713a ;** V4  ..g ULONG             **
  1307. MUIA_Colorfield_Red                 EQU $804279f6 ;** V4  isg ULONG             **
  1308. MUIA_Colorfield_RGB                 EQU $8042677a ;** V4  isg ULONG *           **
  1309.  
  1310.  
  1311.  
  1312. ;****************************************************************************
  1313. ;** List                                                                   **
  1314. ;****************************************************************************
  1315.  
  1316. ;** Methods **
  1317.  
  1318. MUIM_List_Clear                     EQU $8042ad89 ;** V4  **
  1319. MUIM_List_CreateImage               EQU $80429804 ;** V11 **
  1320. MUIM_List_DeleteImage               EQU $80420f58 ;** V11 **
  1321. MUIM_List_Exchange                  EQU $8042468c ;** V4  **
  1322. MUIM_List_GetEntry                  EQU $804280ec ;** V4  **
  1323. MUIM_List_Insert                    EQU $80426c87 ;** V4  **
  1324. MUIM_List_InsertSingle              EQU $804254d5 ;** V7  **
  1325. MUIM_List_Jump                      EQU $8042baab ;** V4  **
  1326. MUIM_List_Move                      EQU $804253c2 ;** V9  **
  1327. MUIM_List_NextSelected              EQU $80425f17 ;** V6  **
  1328. MUIM_List_Redraw                    EQU $80427993 ;** V4  **
  1329. MUIM_List_Remove                    EQU $8042647e ;** V4  **
  1330. MUIM_List_Select                    EQU $804252d8 ;** V4  **
  1331. MUIM_List_Sort                      EQU $80422275 ;** V4  **
  1332. MUIM_List_TestPos                   EQU $80425f48 ;** V11 **
  1333.  
  1334. ;** Attributes **
  1335.  
  1336. MUIA_List_Active                    EQU $8042391c ;** V4  isg LONG              **
  1337. MUIA_List_AdjustHeight              EQU $8042850d ;** V4  i.. BOOL              **
  1338. MUIA_List_AdjustWidth               EQU $8042354a ;** V4  i.. BOOL              **
  1339. MUIA_List_AutoVisible               EQU $8042a445 ;** V11 isg BOOL              **
  1340. MUIA_List_CompareHook               EQU $80425c14 ;** V4  is. struct Hook *     **
  1341. MUIA_List_ConstructHook             EQU $8042894f ;** V4  is. struct Hook *     **
  1342. MUIA_List_DestructHook              EQU $804297ce ;** V4  is. struct Hook *     **
  1343. MUIA_List_DisplayHook               EQU $8042b4d5 ;** V4  is. struct Hook *     **
  1344. MUIA_List_DragSortable              EQU $80426099 ;** V11 isg BOOL              **
  1345. MUIA_List_DropMark                  EQU $8042aba6 ;** V11 ..g LONG              **
  1346. MUIA_List_Entries                   EQU $80421654 ;** V4  ..g LONG              **
  1347. MUIA_List_First                     EQU $804238d4 ;** V4  ..g LONG              **
  1348. MUIA_List_Format                    EQU $80423c0a ;** V4  isg STRPTR            **
  1349. MUIA_List_InsertPosition            EQU $8042d0cd ;** V9  ..g LONG              **
  1350. MUIA_List_MinLineHeight             EQU $8042d1c3 ;** V4  i.. LONG              **
  1351. MUIA_List_MultiTestHook             EQU $8042c2c6 ;** V4  is. struct Hook *     **
  1352. MUIA_List_Pool                      EQU $80423431 ;** V13 i.. APTR              **
  1353. MUIA_List_PoolPuddleSize            EQU $8042a4eb ;** V13 i.. ULONG             **
  1354. MUIA_List_PoolThreshSize            EQU $8042c48c ;** V13 i.. ULONG             **
  1355. MUIA_List_Quiet                     EQU $8042d8c7 ;** V4  .s. BOOL              **
  1356. MUIA_List_ShowDropMarks             EQU $8042c6f3 ;** V11 isg BOOL              **
  1357. MUIA_List_SourceArray               EQU $8042c0a0 ;** V4  i.. APTR              **
  1358. MUIA_List_Title                     EQU $80423e66 ;** V6  isg char *            **
  1359. MUIA_List_Visible                   EQU $8042191f ;** V4  ..g LONG              **
  1360.  
  1361. MUIV_List_Active_Off                EQU -1
  1362. MUIV_List_Active_Top                EQU -2
  1363. MUIV_List_Active_Bottom             EQU -3
  1364. MUIV_List_Active_Up                 EQU -4
  1365. MUIV_List_Active_Down               EQU -5
  1366. MUIV_List_Active_PageUp             EQU -6
  1367. MUIV_List_Active_PageDown           EQU -7
  1368. MUIV_List_ConstructHook_String      EQU -1
  1369. MUIV_List_DestructHook_String       EQU -1
  1370.  
  1371.  
  1372. ;****************************************************************************
  1373. ;** Floattext                                                              **
  1374. ;****************************************************************************
  1375.  
  1376. ;** Attributes **
  1377.  
  1378. MUIA_Floattext_Justify              EQU $8042dc03 ;** V4  isg BOOL              **
  1379. MUIA_Floattext_SkipChars            EQU $80425c7d ;** V4  is. STRPTR            **
  1380. MUIA_Floattext_TabSize              EQU $80427d17 ;** V4  is. LONG              **
  1381. MUIA_Floattext_Text                 EQU $8042d16a ;** V4  isg STRPTR            **
  1382.  
  1383.  
  1384.  
  1385. ;****************************************************************************
  1386. ;** Volumelist                                                             **
  1387. ;****************************************************************************
  1388.  
  1389.  
  1390. ;****************************************************************************
  1391. ;** Scrmodelist                                                            **
  1392. ;****************************************************************************
  1393.  
  1394. ;** Attributes **
  1395.  
  1396.  
  1397.  
  1398.  
  1399. ;****************************************************************************
  1400. ;** Dirlist                                                                **
  1401. ;****************************************************************************
  1402.  
  1403. ;** Methods **
  1404.  
  1405. MUIM_Dirlist_ReRead                 EQU $80422d71 ;** V4  **
  1406.  
  1407. ;** Attributes **
  1408.  
  1409. MUIA_Dirlist_AcceptPattern          EQU $8042760a ;** V4  is. STRPTR            **
  1410. MUIA_Dirlist_Directory              EQU $8042ea41 ;** V4  isg STRPTR            **
  1411. MUIA_Dirlist_DrawersOnly            EQU $8042b379 ;** V4  is. BOOL              **
  1412. MUIA_Dirlist_FilesOnly              EQU $8042896a ;** V4  is. BOOL              **
  1413. MUIA_Dirlist_FilterDrawers          EQU $80424ad2 ;** V4  is. BOOL              **
  1414. MUIA_Dirlist_FilterHook             EQU $8042ae19 ;** V4  is. struct Hook *     **
  1415. MUIA_Dirlist_MultiSelDirs           EQU $80428653 ;** V6  is. BOOL              **
  1416. MUIA_Dirlist_NumBytes               EQU $80429e26 ;** V4  ..g LONG              **
  1417. MUIA_Dirlist_NumDrawers             EQU $80429cb8 ;** V4  ..g LONG              **
  1418. MUIA_Dirlist_NumFiles               EQU $8042a6f0 ;** V4  ..g LONG              **
  1419. MUIA_Dirlist_Path                   EQU $80426176 ;** V4  ..g STRPTR            **
  1420. MUIA_Dirlist_RejectIcons            EQU $80424808 ;** V4  is. BOOL              **
  1421. MUIA_Dirlist_RejectPattern          EQU $804259c7 ;** V4  is. STRPTR            **
  1422. MUIA_Dirlist_SortDirs               EQU $8042bbb9 ;** V4  is. LONG              **
  1423. MUIA_Dirlist_SortHighLow            EQU $80421896 ;** V4  is. BOOL              **
  1424. MUIA_Dirlist_SortType               EQU $804228bc ;** V4  is. LONG              **
  1425. MUIA_Dirlist_Status                 EQU $804240de ;** V4  ..g LONG              **
  1426.  
  1427. MUIV_Dirlist_SortDirs_First         EQU 0
  1428. MUIV_Dirlist_SortDirs_Last          EQU 1
  1429. MUIV_Dirlist_SortDirs_Mix           EQU 2
  1430. MUIV_Dirlist_SortType_Name          EQU 0
  1431. MUIV_Dirlist_SortType_Date          EQU 1
  1432. MUIV_Dirlist_SortType_Size          EQU 2
  1433. MUIV_Dirlist_Status_Invalid         EQU 0
  1434. MUIV_Dirlist_Status_Reading         EQU 1
  1435. MUIV_Dirlist_Status_Valid           EQU 2
  1436.  
  1437.  
  1438. ;****************************************************************************
  1439. ;** Numeric                                                                **
  1440. ;****************************************************************************
  1441.  
  1442. ;** Methods **
  1443.  
  1444. MUIM_Numeric_Decrease               EQU $804243a7 ;** V11 **
  1445. MUIM_Numeric_Increase               EQU $80426ecd ;** V11 **
  1446. MUIM_Numeric_ScaleToValue           EQU $8042032c ;** V11 **
  1447. MUIM_Numeric_SetDefault             EQU $8042ab0a ;** V11 **
  1448. MUIM_Numeric_Stringify              EQU $80424891 ;** V11 **
  1449. MUIM_Numeric_ValueToScale           EQU $80423e4f ;** V11 **
  1450.  
  1451. ;** Attributes **
  1452.  
  1453. MUIA_Numeric_Default                EQU $804263e8 ;** V11 isg LONG              **
  1454. MUIA_Numeric_Format                 EQU $804263e9 ;** V11 isg STRPTR            **
  1455. MUIA_Numeric_Max                    EQU $8042d78a ;** V11 isg LONG              **
  1456. MUIA_Numeric_Min                    EQU $8042e404 ;** V11 isg LONG              **
  1457. MUIA_Numeric_Reverse                EQU $8042f2a0 ;** V11 isg BOOL              **
  1458. MUIA_Numeric_RevLeftRight           EQU $804294a7 ;** V11 isg BOOL              **
  1459. MUIA_Numeric_RevUpDown              EQU $804252dd ;** V11 isg BOOL              **
  1460. MUIA_Numeric_Value                  EQU $8042ae3a ;** V11 isg LONG              **
  1461.  
  1462.  
  1463.  
  1464. ;****************************************************************************
  1465. ;** Framedisplay                                                           **
  1466. ;****************************************************************************
  1467.  
  1468. ;** Attributes **
  1469.  
  1470.  
  1471.  
  1472.  
  1473. ;****************************************************************************
  1474. ;** Popframe                                                               **
  1475. ;****************************************************************************
  1476.  
  1477.  
  1478. ;****************************************************************************
  1479. ;** Imagedisplay                                                           **
  1480. ;****************************************************************************
  1481.  
  1482. ;** Attributes **
  1483.  
  1484.  
  1485.  
  1486.  
  1487. ;****************************************************************************
  1488. ;** Popimage                                                               **
  1489. ;****************************************************************************
  1490.  
  1491.  
  1492. ;****************************************************************************
  1493. ;** Pendisplay                                                             **
  1494. ;****************************************************************************
  1495.  
  1496. ;** Methods **
  1497.  
  1498. MUIM_Pendisplay_SetColormap         EQU $80426c80 ;** V13 **
  1499. MUIM_Pendisplay_SetMUIPen           EQU $8042039d ;** V13 **
  1500. MUIM_Pendisplay_SetRGB              EQU $8042c131 ;** V13 **
  1501.  
  1502. ;** Attributes **
  1503.  
  1504. MUIA_Pendisplay_Pen                 EQU $8042a748 ;** V13 ..g Object *          **
  1505. MUIA_Pendisplay_Reference           EQU $8042dc24 ;** V13 isg Object *          **
  1506. MUIA_Pendisplay_RGBcolor            EQU $8042a1a9 ;** V11 isg struct MUI_RBBcolor * **
  1507. MUIA_Pendisplay_Spec                EQU $8042a204 ;** V11 isg struct MUI_PenSpec  * **
  1508.  
  1509.  
  1510.  
  1511. ;****************************************************************************
  1512. ;** Poppen                                                                 **
  1513. ;****************************************************************************
  1514.  
  1515.  
  1516. ;****************************************************************************
  1517. ;** Knob                                                                   **
  1518. ;****************************************************************************
  1519.  
  1520.  
  1521. ;****************************************************************************
  1522. ;** Levelmeter                                                             **
  1523. ;****************************************************************************
  1524.  
  1525. ;** Attributes **
  1526.  
  1527. MUIA_Levelmeter_Label               EQU $80420dd5 ;** V11 isg STRPTR            **
  1528.  
  1529.  
  1530.  
  1531. ;****************************************************************************
  1532. ;** Numericbutton                                                          **
  1533. ;****************************************************************************
  1534.  
  1535.  
  1536. ;****************************************************************************
  1537. ;** Slider                                                                 **
  1538. ;****************************************************************************
  1539.  
  1540. ;** Attributes **
  1541.  
  1542. MUIA_Slider_Horiz                   EQU $8042fad1 ;** V11 isg BOOL              **
  1543. MUIA_Slider_Level                   EQU $8042ae3a ;** V4  isg LONG              **
  1544. MUIA_Slider_Max                     EQU $8042d78a ;** V4  isg LONG              **
  1545. MUIA_Slider_Min                     EQU $8042e404 ;** V4  isg LONG              **
  1546. MUIA_Slider_Quiet                   EQU $80420b26 ;** V6  i.. BOOL              **
  1547. MUIA_Slider_Reverse                 EQU $8042f2a0 ;** V4  isg BOOL              **
  1548.  
  1549.  
  1550.  
  1551. ;****************************************************************************
  1552. ;** Group                                                                  **
  1553. ;****************************************************************************
  1554.  
  1555. ;** Methods **
  1556.  
  1557. MUIM_Group_ExitChange               EQU $8042d1cc ;** V11 **
  1558. MUIM_Group_InitChange               EQU $80420887 ;** V11 **
  1559.  
  1560. ;** Attributes **
  1561.  
  1562. MUIA_Group_ActivePage               EQU $80424199 ;** V5  isg LONG              **
  1563. MUIA_Group_Child                    EQU $804226e6 ;** V4  i.. Object *          **
  1564. MUIA_Group_ChildList                EQU $80424748 ;** V4  ..g struct List *     **
  1565. MUIA_Group_Columns                  EQU $8042f416 ;** V4  is. LONG              **
  1566. MUIA_Group_Horiz                    EQU $8042536b ;** V4  i.. BOOL              **
  1567. MUIA_Group_HorizSpacing             EQU $8042c651 ;** V4  isg LONG              **
  1568. MUIA_Group_LayoutHook               EQU $8042c3b2 ;** V11 i.. struct Hook *     **
  1569. MUIA_Group_PageMode                 EQU $80421a5f ;** V5  i.. BOOL              **
  1570. MUIA_Group_Rows                     EQU $8042b68f ;** V4  is. LONG              **
  1571. MUIA_Group_SameHeight               EQU $8042037e ;** V4  i.. BOOL              **
  1572. MUIA_Group_SameSize                 EQU $80420860 ;** V4  i.. BOOL              **
  1573. MUIA_Group_SameWidth                EQU $8042b3ec ;** V4  i.. BOOL              **
  1574. MUIA_Group_Spacing                  EQU $8042866d ;** V4  is. LONG              **
  1575. MUIA_Group_VertSpacing              EQU $8042e1bf ;** V4  isg LONG              **
  1576.  
  1577. MUIV_Group_ActivePage_First         EQU 0
  1578. MUIV_Group_ActivePage_Last          EQU -1
  1579. MUIV_Group_ActivePage_Prev          EQU -2
  1580. MUIV_Group_ActivePage_Next          EQU -3
  1581. MUIV_Group_ActivePage_Advance       EQU -4
  1582.  
  1583.  
  1584. ;****************************************************************************
  1585. ;** Mccprefs                                                               **
  1586. ;****************************************************************************
  1587.  
  1588.  
  1589. ;****************************************************************************
  1590. ;** Register                                                               **
  1591. ;****************************************************************************
  1592.  
  1593. ;** Attributes **
  1594.  
  1595. MUIA_Register_Frame                 EQU $8042349b ;** V7  i.g BOOL              **
  1596. MUIA_Register_Titles                EQU $804297ec ;** V7  i.g STRPTR *          **
  1597.  
  1598.  
  1599.  
  1600. ;****************************************************************************
  1601. ;** Settingsgroup                                                          **
  1602. ;****************************************************************************
  1603.  
  1604. ;** Methods **
  1605.  
  1606.  
  1607. ;** Attributes **
  1608.  
  1609.  
  1610.  
  1611.  
  1612. ;****************************************************************************
  1613. ;** Settings                                                               **
  1614. ;****************************************************************************
  1615.  
  1616. ;** Methods **
  1617.  
  1618.  
  1619. ;** Attributes **
  1620.  
  1621.  
  1622.  
  1623.  
  1624. ;****************************************************************************
  1625. ;** Frameadjust                                                            **
  1626. ;****************************************************************************
  1627.  
  1628. ;** Methods **
  1629.  
  1630.  
  1631. ;** Attributes **
  1632.  
  1633.  
  1634.  
  1635.  
  1636. ;****************************************************************************
  1637. ;** Penadjust                                                              **
  1638. ;****************************************************************************
  1639.  
  1640. ;** Methods **
  1641.  
  1642.  
  1643. ;** Attributes **
  1644.  
  1645. MUIA_Penadjust_PSIMode              EQU $80421cbb ;** V11 i.. BOOL              **
  1646.  
  1647.  
  1648.  
  1649. ;****************************************************************************
  1650. ;** Imageadjust                                                            **
  1651. ;****************************************************************************
  1652.  
  1653. ;** Methods **
  1654.  
  1655.  
  1656. ;** Attributes **
  1657.  
  1658.  
  1659.  
  1660.  
  1661. ;****************************************************************************
  1662. ;** Virtgroup                                                              **
  1663. ;****************************************************************************
  1664.  
  1665. ;** Methods **
  1666.  
  1667.  
  1668. ;** Attributes **
  1669.  
  1670. MUIA_Virtgroup_Height               EQU $80423038 ;** V6  ..g LONG              **
  1671. MUIA_Virtgroup_Input                EQU $80427f7e ;** V11 i.. BOOL              **
  1672. MUIA_Virtgroup_Left                 EQU $80429371 ;** V6  isg LONG              **
  1673. MUIA_Virtgroup_Top                  EQU $80425200 ;** V6  isg LONG              **
  1674. MUIA_Virtgroup_Width                EQU $80427c49 ;** V6  ..g LONG              **
  1675.  
  1676.  
  1677.  
  1678. ;****************************************************************************
  1679. ;** Scrollgroup                                                            **
  1680. ;****************************************************************************
  1681.  
  1682. ;** Methods **
  1683.  
  1684.  
  1685. ;** Attributes **
  1686.  
  1687. MUIA_Scrollgroup_Contents           EQU $80421261 ;** V4  i.. Object *          **
  1688. MUIA_Scrollgroup_FreeHoriz          EQU $804292f3 ;** V9  i.. BOOL              **
  1689. MUIA_Scrollgroup_FreeVert           EQU $804224f2 ;** V9  i.. BOOL              **
  1690. MUIA_Scrollgroup_UseWinBorder       EQU $804284c1 ;** V13 i.. BOOL              **
  1691.  
  1692.  
  1693.  
  1694. ;****************************************************************************
  1695. ;** Scrollbar                                                              **
  1696. ;****************************************************************************
  1697.  
  1698. ;** Attributes **
  1699.  
  1700. MUIA_Scrollbar_Type                 EQU $8042fb6b ;** V11 i.. LONG              **
  1701.  
  1702. MUIV_Scrollbar_Type_Default         EQU 0
  1703. MUIV_Scrollbar_Type_Bottom          EQU 1
  1704. MUIV_Scrollbar_Type_Top             EQU 2
  1705. MUIV_Scrollbar_Type_Sym             EQU 3
  1706.  
  1707.  
  1708. ;****************************************************************************
  1709. ;** Listview                                                               **
  1710. ;****************************************************************************
  1711.  
  1712. ;** Attributes **
  1713.  
  1714. MUIA_Listview_ClickColumn           EQU $8042d1b3 ;** V7  ..g LONG              **
  1715. MUIA_Listview_DefClickColumn        EQU $8042b296 ;** V7  isg LONG              **
  1716. MUIA_Listview_DoubleClick           EQU $80424635 ;** V4  i.g BOOL              **
  1717. MUIA_Listview_DragType              EQU $80425cd3 ;** V11 isg LONG              **
  1718. MUIA_Listview_Input                 EQU $8042682d ;** V4  i.. BOOL              **
  1719. MUIA_Listview_List                  EQU $8042bcce ;** V4  i.g Object *          **
  1720. MUIA_Listview_MultiSelect           EQU $80427e08 ;** V7  i.. LONG              **
  1721. MUIA_Listview_ScrollerPos           EQU $8042b1b4 ;** V10 i.. BOOL              **
  1722. MUIA_Listview_SelectChange          EQU $8042178f ;** V4  ..g BOOL              **
  1723.  
  1724. MUIV_Listview_DragType_None         EQU 0
  1725. MUIV_Listview_DragType_Immediate    EQU 1
  1726. MUIV_Listview_MultiSelect_None      EQU 0
  1727. MUIV_Listview_MultiSelect_Default   EQU 1
  1728. MUIV_Listview_MultiSelect_Shifted   EQU 2
  1729. MUIV_Listview_MultiSelect_Always    EQU 3
  1730. MUIV_Listview_ScrollerPos_Default   EQU 0
  1731. MUIV_Listview_ScrollerPos_Left      EQU 1
  1732. MUIV_Listview_ScrollerPos_Right     EQU 2
  1733.  
  1734.  
  1735. ;****************************************************************************
  1736. ;** Radio                                                                  **
  1737. ;****************************************************************************
  1738.  
  1739. ;** Attributes **
  1740.  
  1741. MUIA_Radio_Active                   EQU $80429b41 ;** V4  isg LONG              **
  1742. MUIA_Radio_Entries                  EQU $8042b6a1 ;** V4  i.. STRPTR *          **
  1743.  
  1744.  
  1745.  
  1746. ;****************************************************************************
  1747. ;** Cycle                                                                  **
  1748. ;****************************************************************************
  1749.  
  1750. ;** Attributes **
  1751.  
  1752. MUIA_Cycle_Active                   EQU $80421788 ;** V4  isg LONG              **
  1753. MUIA_Cycle_Entries                  EQU $80420629 ;** V4  i.. STRPTR *          **
  1754.  
  1755. MUIV_Cycle_Active_Next              EQU -1
  1756. MUIV_Cycle_Active_Prev              EQU -2
  1757.  
  1758.  
  1759. ;****************************************************************************
  1760. ;** Coloradjust                                                            **
  1761. ;****************************************************************************
  1762.  
  1763. ;** Methods **
  1764.  
  1765.  
  1766. ;** Attributes **
  1767.  
  1768. MUIA_Coloradjust_Blue               EQU $8042b8a3 ;** V4  isg ULONG             **
  1769. MUIA_Coloradjust_Green              EQU $804285ab ;** V4  isg ULONG             **
  1770. MUIA_Coloradjust_ModeID             EQU $8042ec59 ;** V4  isg ULONG             **
  1771. MUIA_Coloradjust_Red                EQU $80420eaa ;** V4  isg ULONG             **
  1772. MUIA_Coloradjust_RGB                EQU $8042f899 ;** V4  isg ULONG *           **
  1773.  
  1774.  
  1775.  
  1776. ;****************************************************************************
  1777. ;** Palette                                                                **
  1778. ;****************************************************************************
  1779.  
  1780. ;** Attributes **
  1781.  
  1782. MUIA_Palette_Entries                EQU $8042a3d8 ;** V6  i.g struct MUI_Palette_Entry * **
  1783. MUIA_Palette_Groupable              EQU $80423e67 ;** V6  isg BOOL              **
  1784. MUIA_Palette_Names                  EQU $8042c3a2 ;** V6  isg char **           **
  1785.  
  1786.  
  1787.  
  1788. ;****************************************************************************
  1789. ;** Popstring                                                              **
  1790. ;****************************************************************************
  1791.  
  1792. ;** Methods **
  1793.  
  1794. MUIM_Popstring_Close                EQU $8042dc52 ;** V7  **
  1795. MUIM_Popstring_Open                 EQU $804258ba ;** V7  **
  1796.  
  1797. ;** Attributes **
  1798.  
  1799. MUIA_Popstring_Button               EQU $8042d0b9 ;** V7  i.g Object *          **
  1800. MUIA_Popstring_CloseHook            EQU $804256bf ;** V7  isg struct Hook *     **
  1801. MUIA_Popstring_OpenHook             EQU $80429d00 ;** V7  isg struct Hook *     **
  1802. MUIA_Popstring_String               EQU $804239ea ;** V7  i.g Object *          **
  1803. MUIA_Popstring_Toggle               EQU $80422b7a ;** V7  isg BOOL              **
  1804.  
  1805.  
  1806.  
  1807. ;****************************************************************************
  1808. ;** Popobject                                                              **
  1809. ;****************************************************************************
  1810.  
  1811. ;** Attributes **
  1812.  
  1813. MUIA_Popobject_Follow               EQU $80424cb5 ;** V7  isg BOOL              **
  1814. MUIA_Popobject_Light                EQU $8042a5a3 ;** V7  isg BOOL              **
  1815. MUIA_Popobject_Object               EQU $804293e3 ;** V7  i.g Object *          **
  1816. MUIA_Popobject_ObjStrHook           EQU $8042db44 ;** V7  isg struct Hook *     **
  1817. MUIA_Popobject_StrObjHook           EQU $8042fbe1 ;** V7  isg struct Hook *     **
  1818. MUIA_Popobject_Volatile             EQU $804252ec ;** V7  isg BOOL              **
  1819. MUIA_Popobject_WindowHook           EQU $8042f194 ;** V9  isg struct Hook *     **
  1820.  
  1821.  
  1822.  
  1823. ;****************************************************************************
  1824. ;** Poplist                                                                **
  1825. ;****************************************************************************
  1826.  
  1827. ;** Attributes **
  1828.  
  1829. MUIA_Poplist_Array                  EQU $8042084c ;** V8  i.. char **           **
  1830.  
  1831.  
  1832.  
  1833. ;****************************************************************************
  1834. ;** Popscreen                                                              **
  1835. ;****************************************************************************
  1836.  
  1837. ;** Attributes **
  1838.  
  1839.  
  1840.  
  1841.  
  1842. ;****************************************************************************
  1843. ;** Popasl                                                                 **
  1844. ;****************************************************************************
  1845.  
  1846. ;** Attributes **
  1847.  
  1848. MUIA_Popasl_Active                  EQU $80421b37 ;** V7  ..g BOOL              **
  1849. MUIA_Popasl_StartHook               EQU $8042b703 ;** V7  isg struct Hook *     **
  1850. MUIA_Popasl_StopHook                EQU $8042d8d2 ;** V7  isg struct Hook *     **
  1851. MUIA_Popasl_Type                    EQU $8042df3d ;** V7  i.g ULONG             **
  1852.  
  1853.  
  1854.  
  1855. ;****************************************************************************
  1856. ;** Semaphore                                                              **
  1857. ;****************************************************************************
  1858.  
  1859. ;** Methods **
  1860.  
  1861. MUIM_Semaphore_Attempt              EQU $80426ce2 ;** V11 **
  1862. MUIM_Semaphore_AttemptShared        EQU $80422551 ;** V11 **
  1863. MUIM_Semaphore_Obtain               EQU $804276f0 ;** V11 **
  1864. MUIM_Semaphore_ObtainShared         EQU $8042ea02 ;** V11 **
  1865. MUIM_Semaphore_Release              EQU $80421f2d ;** V11 **
  1866.  
  1867.  
  1868. ;****************************************************************************
  1869. ;** Applist                                                                **
  1870. ;****************************************************************************
  1871.  
  1872. ;** Methods **
  1873.  
  1874.  
  1875.  
  1876. ;****************************************************************************
  1877. ;** Dataspace                                                              **
  1878. ;****************************************************************************
  1879.  
  1880. ;** Methods **
  1881.  
  1882. MUIM_Dataspace_Add                  EQU $80423366 ;** V11 **
  1883. MUIM_Dataspace_Clear                EQU $8042b6c9 ;** V11 **
  1884. MUIM_Dataspace_Merge                EQU $80423e2b ;** V11 **
  1885. MUIM_Dataspace_ReadIFF              EQU $80420dfb ;** V11 **
  1886. MUIM_Dataspace_Remove               EQU $8042dce1 ;** V11 **
  1887. MUIM_Dataspace_WriteIFF             EQU $80425e8e ;** V11 **
  1888.  
  1889. ;** Attributes **
  1890.  
  1891. MUIA_Dataspace_Pool                 EQU $80424cf9 ;** V11 i.. APTR              **
  1892.  
  1893.  
  1894.  
  1895. ;****************************************************************************
  1896. ;** Configdata                                                             **
  1897. ;****************************************************************************
  1898.  
  1899. ;** Methods **
  1900.  
  1901.  
  1902. ;** Attributes **
  1903.  
  1904.  
  1905.  
  1906.  
  1907. ;*******************************************
  1908. ;** End of automatic header file creation **
  1909. ;*******************************************
  1910.  
  1911.  
  1912.  
  1913.  
  1914. ****************************************************************************
  1915. **
  1916. ** Macro Section
  1917. ** -------------
  1918. **
  1919. ** To make GUI creation more easy and understandable, you can use the
  1920. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  1921. ** them.
  1922. **
  1923. ** These macros are available to C programmers only.
  1924. **
  1925. *** NOTE: This .i file contains the corresponding macros for
  1926. *** assembler programmers.  All assembler related comments are
  1927. *** marked with three *'s.  The original comments and examples for
  1928. *** C are still intact.
  1929. **
  1930. ****************************************************************************
  1931.  
  1932.    IFND MUI_NOSHORTCUTS
  1933.  
  1934.  
  1935.  
  1936. ****************************************************************************
  1937. **
  1938. ** Object Generation
  1939. ** -----------------
  1940. **
  1941. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  1942. ** Every xxxObject can be followed by tagitems specifying initial create
  1943. ** time attributes for the new object and must be terminated with the
  1944. ** End macro:
  1945. **
  1946. ** obj = StringObject,
  1947. **          MUIA_String_Contents, "foo",
  1948. **          MUIA_String_MaxLen  , 40,
  1949. **          End;
  1950. **
  1951. ** With the Child, SubWindow and WindowContents shortcuts you can
  1952. ** construct a complete GUI within one command:
  1953. **
  1954. ** app = ApplicationObject,
  1955. **
  1956. **          ...
  1957. **
  1958. **          SubWindow, WindowObject,
  1959. **             WindowContents, VGroup,
  1960. **                Child, String("foo",40),
  1961. **                Child, String("bar",50),
  1962. **                Child, HGroup,
  1963. **                   Child, CheckMark(TRUE),
  1964. **                   Child, CheckMark(FALSE),
  1965. **                   End,
  1966. **                End,
  1967. **             End,
  1968. **
  1969. **          SubWindow, WindowObject,
  1970. **             WindowContents, HGroup,
  1971. **                Child, ...,
  1972. **                Child, ...,
  1973. **                End,
  1974. **             End,
  1975. **
  1976. **          ...
  1977. **
  1978. **          End;
  1979. **
  1980. ****************************************************************************
  1981.  
  1982.  
  1983. ****************************************************************************
  1984. ***
  1985. *** These assembler macros behave somewhat in the same way as the C macros
  1986. *** but with some minor differences:
  1987. *** The macro names End, and SET are already in use in most assembler
  1988. *** compilers, so they are replaced with Endi and seti (for consistencys
  1989. *** sake get is also renamed to geti).
  1990. ***
  1991. *** You must provide memory for all the taglists needed in the object
  1992. *** creation.  The maximum memory needed is passed to you in the 
  1993. *** TAG_SPACE variable.  This is not the mimimum memory needed in most
  1994. *** cases and is often a few kilos too large, but this is the best I
  1995. *** could come up with the assembler macro commands.
  1996. *** Note that you must store the value of TAG_SPACE only after all
  1997. *** the objects are created.  TAG_SPACE is incremented as object
  1998. *** creation macros are called and in the end holds the maximum
  1999. *** theoretical tagitem space usage in bytes.  You pass the pointer to
  2000. *** this memory (which you have yourself allocated) in the register MR.
  2001. *** You can EQUR MR to any of the registers a3, a4 or a5 (the macros
  2002. *** don't use these registers).
  2003. ***
  2004. *** All calls to xxxObject and xxxGroup _must_ be finished with an Endi
  2005. *** call.  The Endi macro actually calls the MUI_NewObjectA function
  2006. *** and places the result object to the taglist.
  2007. ***
  2008. *** The MUIT macro is just a handy way of moving mixed stuff to the
  2009. *** taglist.  Upto 9 items can be moved to the stack on one source line.
  2010. *** You can move _only constants_ with the MUIT macro, use the
  2011. *** MUIT2 macro to move more mixed stuff (pointers, registers).
  2012. *** Remember to use # to denote constants when using MUIT2.
  2013. *** The Endi macro is a special case for the MUIT and MUIT2 macros.
  2014. *** This is snooped out and every 'MUIT Endi' call is converted to
  2015. *** an Endi macro call.
  2016. ***
  2017. *** Also the very common calls 'MUIT Child', 'MUIT SubWindow' and
  2018. *** 'MUIT WindowContents' have their own macros Childi, SubWindowi
  2019. *** and WindowContentsi.  Childi macro can take upto five arguments.
  2020. *** There are three versions of Childi: Childi, Child2 and Child3.
  2021. *** Templates for these macros are:
  2022. *** Childi [macro[,argument1[,argument2[,argument3[,argument4]]]]]
  2023. *** Child2 [macro[,macro[,macro[,macro[,macro]]]]]
  2024. *** Child3 [macro[,macro[,argument1[,argument2[,argument3]]]]]
  2025. *** Arguments for Childi are interpreted as the first one being a
  2026. *** full macro name and the last four arguments for this macro.
  2027. *** Arguments for Child2 are treated as macros placed on their
  2028. *** own separate lines.  These macros can't have any arguments.
  2029. *** Arguments for Child3 are treated as two macros placed on their
  2030. *** own separate lines.  The last macro can have three arguments.
  2031. ***
  2032. *** The C example above with these assembler macros:
  2033. ***
  2034. ***   ApplicationObject
  2035. ***   
  2036. ***      ...
  2037. ***
  2038. ***      SubWindowi
  2039. ***      WindowObject
  2040. ***         WindowContentsi
  2041. ***         VGroup
  2042. ***            Childi String,foo,40
  2043. ***            Childi String,bar,50
  2044. ***            Childi HGroup
  2045. ***               Childi Checkmark,TRUE
  2046. ***               Childi Checkmark,FALSE
  2047. ***               Endi
  2048. ***            Endi
  2049. ***         Endi
  2050. ***
  2051. ***      SubWindowi
  2052. ***      WindowObject
  2053. ***         WindowContentsi
  2054. ***         HGroup
  2055. ***            Childi
  2056. ***            ...
  2057. ***            Childi
  2058. ***            ...
  2059. ***            Endi
  2060. ***         Endi
  2061. ***
  2062. ***      ...
  2063. ***         
  2064. ***      Endi
  2065. ***      is app
  2066. ***
  2067. ***   app   dc.l  0
  2068. ***   bar   dc.b  "bar",0
  2069. ***   foo   dc.b  "foo",0
  2070. ***
  2071. ****************************************************************************
  2072.  
  2073. *** TAG_SPACE will hold the max taglist size in bytes
  2074.  
  2075. TAG_SPACE SET 0
  2076.  
  2077. *** Macros to move a tagitem to the taglist if it is given
  2078.  
  2079. cmv    MACRO
  2080.     IFNC    '\1',''
  2081.     IFC    '\1','Endi'
  2082.     Endi
  2083.     ELSE
  2084.     move.l    #\1,(MR)+
  2085. TAG_SPACE SET TAG_SPACE+4
  2086.     ENDC
  2087.     ENDC
  2088.     ENDM
  2089.  
  2090. cmv2    MACRO
  2091.     IFNC    '\1',''
  2092.     IFC    '\1','Endi'
  2093.     Endi
  2094.     ELSE
  2095.     move.l    \1,(MR)+
  2096. TAG_SPACE SET TAG_SPACE+4
  2097.     ENDC
  2098.     ENDC
  2099.     ENDM
  2100.  
  2101. *** Macro to move a tagitem to stack if it is given
  2102.  
  2103. cmv3    MACRO
  2104.     IFNC    '\1',''
  2105.     move.l    \1,-(sp)
  2106.     ENDC
  2107.     ENDM
  2108.  
  2109. cmv4    MACRO
  2110.     IFNC    '\1',''
  2111.     move.l    #\1,-(sp)
  2112.     ENDC
  2113.     ENDM
  2114.  
  2115. *** Macros to move max 9 tagitems to the taglist
  2116.  
  2117. MUIT    MACRO
  2118.     cmv    \1
  2119.     cmv    \2
  2120.     cmv    \3
  2121.     cmv    \4
  2122.     cmv    \5
  2123.     cmv    \6
  2124.     cmv    \7
  2125.     cmv    \8
  2126.     cmv    \9
  2127.     ENDM
  2128.  
  2129. MUIT2    MACRO
  2130.     cmv2    \1
  2131.     cmv2    \2
  2132.     cmv2    \3
  2133.     cmv2    \4
  2134.     cmv2    \5
  2135.     cmv2    \6
  2136.     cmv2    \7
  2137.     cmv2    \8
  2138.     cmv2    \9
  2139.     ENDM
  2140.  
  2141. MakeObj    MACRO
  2142.     movem.l    a0/a2,-(a7)
  2143.     move.l    a7,a2
  2144.     clr.l    -(a7)
  2145.     cmv4    \5
  2146.     cmv4    \4
  2147.     cmv4    \3
  2148.     cmv4    \2
  2149.     move.l    #\1,d0
  2150.     move.l    a7,a0
  2151.     CALLMUI    MUI_MakeObjectA
  2152.     move.l    a2,a7
  2153.     movem.l    (a7)+,a0/a2
  2154.     cmv2    d0
  2155.     ENDM
  2156.  
  2157. *** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
  2158. *** Note that _DoMethod is defined in amiga.lib, so you must link
  2159. *** your own object code with it.
  2160. *** Warning ASM-One V1.25 can only use 9 Args !!!
  2161.  
  2162. DoMethod MACRO
  2163.     movem.l    a0/a2/a3,-(sp)
  2164.     move.l    sp,a2
  2165.     clr.l    -(sp)
  2166.     cmv3    \19
  2167.     cmv3    \18
  2168.     cmv3    \17
  2169.     cmv3    \16
  2170.     cmv3    \15
  2171.     cmv3    \14
  2172.     cmv3    \13
  2173.     cmv3    \12
  2174.     cmv3    \11
  2175.     cmv3    \10
  2176.     cmv3    \9
  2177.     cmv3    \8
  2178.     cmv3    \7
  2179.     cmv3    \6
  2180.     cmv3    \5
  2181.     cmv3    \4
  2182.     cmv3    \3
  2183.     cmv3    \2
  2184.     cmv3    \1
  2185.     move.l    a7,a3
  2186.     jsr    _DoMethod
  2187.     move.l    a2,sp
  2188.     movem.l    (sp)+,a0/a2/a3
  2189.     ENDM
  2190.  
  2191.  
  2192. *** MUI_Request macro for easier assembler MUI_Request'ing, max
  2193. *** 20 tagitems.
  2194.  
  2195. MUI_Request MACRO
  2196.     movem.l    a0-a4,-(sp)
  2197.     move.l    sp,a4
  2198.     cmv3    \9
  2199.     cmv3    \8
  2200.     cmv3    \7
  2201.     move.l    a4,a3
  2202.     move.l    #\6,a2
  2203.     move.l    #\5,a1
  2204.     move.l    #\4,a0
  2205.     move.l    #\3,d2
  2206.     move.l    \2,d1
  2207.     move.l    \1,d0
  2208.     CALLMUI    MUI_RequestA
  2209.     move.l    a4,sp
  2210.     movem.l    (sp)+,a0-a4
  2211.     ENDM
  2212.  
  2213. *** Macro for getting a pointer to an object you just created.
  2214. *** This is valid only after an Endi macro.
  2215.  
  2216. is    MACRO
  2217.     move.l    d0,\1
  2218.     ENDM
  2219.  
  2220. Endi    MACRO
  2221.     clr.l    (MR)+
  2222. TAG_SPACE SET TAG_SPACE+4
  2223.     move.l    a2,a1
  2224.     CALLMUI    MUI_NewObjectA
  2225.     move.l    a2,MR
  2226.     movem.l    (sp)+,a0/a2
  2227.     cmv2    d0
  2228.     ENDM
  2229.  
  2230. MenustripObject MACRO
  2231.     movem.l    a0/a2,-(sp)
  2232. MUIC_Menustrip_f SET 1
  2233.     lea    MUIC_Menustrip,a0
  2234.     move.l    MR,a2
  2235.     ENDM
  2236.  
  2237. MenuObject MACRO
  2238.     movem.l    a0/a2,-(sp)
  2239. MUIC_Menu_f SET 1
  2240.     lea    MUIC_Menu,a0
  2241.     move.l    MR,a2
  2242.     ENDM
  2243.  
  2244. MenuObjectT MACRO
  2245.     movem.l    a0/a2,-(sp)
  2246. MUIC_Menu_f SET 1
  2247.     lea    MUIC_Menu,a0
  2248.     move.l    MR,a2
  2249.     MUIT    MUIA_Menu_Title,\1
  2250.     ENDM
  2251.  
  2252. MenuitemObject MACRO
  2253.     movem.l    a0/a2,-(sp)
  2254. MUIC_Menuitem_f SET 1
  2255.     lea    MUIC_Menuitem,a0
  2256.     move.l    MR,a2
  2257.     ENDM
  2258.  
  2259. WindowObject MACRO
  2260.     movem.l    a0/a2,-(sp)
  2261. MUIC_Window_f SET 1
  2262.     lea    MUIC_Window,a0
  2263.     move.l    MR,a2
  2264.     ENDM
  2265.  
  2266. ImageObject MACRO
  2267.     movem.l    a0/a2,-(sp)
  2268. MUIC_Image_f SET 1
  2269.     lea    MUIC_Image,a0
  2270.     move.l    MR,a2
  2271.     ENDM
  2272.  
  2273. BitmapObject MACRO
  2274.     movem.l    a0/a2,-(sp)
  2275. MUIC_Bitmap_f SET 1
  2276.     lea    MUIC_Bitmap,a0
  2277.     move.l    MR,a2
  2278.     ENDM
  2279.  
  2280. BodychunkObject MACRO
  2281.     movem.l    a0/a2,-(sp)
  2282. MUIC_Bodychunk_f SET 1
  2283.     lea    MUIC_Bodychunk,a0
  2284.     move.l    MR,a2
  2285.     ENDM
  2286.  
  2287. NotifyObject MACRO
  2288.     movem.l    a0/a2,-(sp)
  2289. MUIC_Notify_f SET 1
  2290.     lea    MUIC_Notify,a0
  2291.     move.l    MR,a2
  2292.     ENDM
  2293.  
  2294. ApplicationObject MACRO
  2295.     movem.l    a0/a2,-(sp)
  2296. MUIC_Application_f SET 1
  2297.     lea    MUIC_Application,a0
  2298.     move.l    MR,a2
  2299.     ENDM
  2300.  
  2301. TextObject MACRO
  2302.     movem.l    a0/a2,-(sp)
  2303. MUIC_Text_f SET 1
  2304.     lea    MUIC_Text,a0
  2305.     move.l    MR,a2
  2306.     ENDM
  2307.  
  2308. RectangleObject MACRO
  2309.     movem.l    a0/a2,-(sp)
  2310. MUIC_Rectangle_f SET 1
  2311.     lea    MUIC_Rectangle,a0
  2312.     move.l    MR,a2
  2313.     ENDM
  2314.  
  2315. ListObject MACRO
  2316.     movem.l    a0/a2,-(sp)
  2317. MUIC_List_f SET 1
  2318.     lea    MUIC_List,a0
  2319.     move.l    MR,a2
  2320.     ENDM
  2321.  
  2322. PropObject MACRO
  2323.     movem.l    a0/a2,-(sp)
  2324. MUIC_Prop_f SET 1
  2325.     lea    MUIC_Prop,a0
  2326.     move.l    MR,a2
  2327.     ENDM
  2328.  
  2329. StringObject MACRO
  2330.     movem.l    a0/a2,-(sp)
  2331. MUIC_String_f SET 1
  2332.     lea    MUIC_String,a0
  2333.     move.l    MR,a2
  2334.     ENDM
  2335.  
  2336. ScrollbarObject MACRO
  2337.     movem.l    a0/a2,-(sp)
  2338. MUIC_Scrollbar_f SET 1
  2339.     lea    MUIC_Scrollbar,a0
  2340.     move.l    MR,a2
  2341.     ENDM
  2342.  
  2343. ListviewObject MACRO
  2344.     movem.l    a0/a2,-(sp)
  2345. MUIC_Listview_f SET 1
  2346.     lea    MUIC_Listview,a0
  2347.     move.l    MR,a2
  2348.     ENDM
  2349.  
  2350. RadioObject MACRO
  2351.     movem.l    a0/a2,-(sp)
  2352. MUIC_Radio_f SET 1
  2353.     lea    MUIC_Radio,a0
  2354.     move.l    MR,a2
  2355.     ENDM
  2356.  
  2357. VolumelistObject MACRO
  2358.     movem.l    a0/a2,-(sp)
  2359. MUIC_Volumelist_f SET 1
  2360.     lea    MUIC_Volumelist,a0
  2361.     move.l    MR,a2
  2362.     ENDM
  2363.  
  2364. FloattextObject MACRO
  2365.     movem.l    a0/a2,-(sp)
  2366. MUIC_Floattext_f SET 1
  2367.     lea    MUIC_Floattext,a0
  2368.     move.l    MR,a2
  2369.     ENDM
  2370.  
  2371. DirlistObject MACRO
  2372.     movem.l    a0/a2,-(sp)
  2373. MUIC_Dirlist_f SET 1
  2374.     lea    MUIC_Dirlist,a0
  2375.     move.l    MR,a2
  2376.     ENDM
  2377.  
  2378. SliderObject MACRO
  2379.     movem.l    a0/a2,-(sp)
  2380. MUIC_Slider_f SET 1
  2381.     lea    MUIC_Slider,a0
  2382.     move.l    MR,a2
  2383.     ENDM
  2384.  
  2385. CycleObject MACRO
  2386.     movem.l    a0/a2,-(sp)
  2387. MUIC_Cycle_f SET 1
  2388.     lea    MUIC_Cycle,a0
  2389.     move.l    MR,a2
  2390.     ENDM
  2391.  
  2392. GaugeObject MACRO
  2393.     movem.l    a0/a2,-(sp)
  2394. MUIC_Gauge_f SET 1
  2395.     lea    MUIC_Gauge,a0
  2396.     move.l    MR,a2
  2397.     ENDM
  2398.  
  2399. ScaleObject MACRO
  2400.     movem.l    a0/a2,-(sp)
  2401. MUIC_Scale_f SET 1
  2402.     lea    MUIC_Scale,a0
  2403.     move.l    MR,a2
  2404.     ENDM
  2405.  
  2406. NumericObject MACRO
  2407.     movem.l    a0/a2,-(sp)
  2408. MUIC_Numeric_f SET 1
  2409.     lea    MUIC_Numeric,a0
  2410.     move.l    MR,a2
  2411.     ENDM
  2412.  
  2413. BoopsiObject MACRO
  2414.     movem.l    a0/a2,-(sp)
  2415. MUIC_Boopsi_f SET 1
  2416.     lea    MUIC_Boopsi,a0
  2417.     move.l    MR,a2
  2418.     ENDM
  2419.  
  2420. ColorfieldObject MACRO
  2421.     movem.l    a0/a2,-(sp)
  2422. MUIC_Colorfield_f SET 1
  2423.     lea    MUIC_Colorfield,a0
  2424.     move.l    MR,a2
  2425.     ENDM
  2426.  
  2427. ColorpanelObject MACRO
  2428.     movem.l    a0/a2,-(sp)
  2429. MUIC_Colorpanel_f SET 1
  2430.     lea    MUIC_Colorpanel,a0
  2431.     move.l    MR,a2
  2432.     ENDM
  2433.  
  2434. ColoradjustObject MACRO
  2435.     movem.l    a0/a2,-(sp)
  2436. MUIC_Coloradjust_f SET 1
  2437.     lea    MUIC_Coloradjust,a0
  2438.     move.l    MR,a2
  2439.     ENDM
  2440.  
  2441. PaletteObject MACRO
  2442.     movem.l    a0/a2,-(sp)
  2443. MUIC_Palette_f SET 1
  2444.     lea    MUIC_Palette,a0
  2445.     move.l    MR,a2
  2446.     ENDM
  2447.  
  2448. GroupObject MACRO
  2449.     movem.l    a0/a2,-(sp)
  2450. MUIC_Group_f SET 1
  2451.     lea    MUIC_Group,a0
  2452.     move.l    MR,a2
  2453.     ENDM
  2454.  
  2455. RegisterObject MACRO
  2456.     movem.l    a0/a2,-(sp)
  2457. MUIC_Register_f SET 1
  2458.     lea    MUIC_Register,a0
  2459.     move.l    MR,a2
  2460.     ENDM
  2461.  
  2462. VirtgroupObject MACRO
  2463.     movem.l    a0/a2,-(sp)
  2464. MUIC_Virtgroup_f SET 1
  2465.     lea    MUIC_Virtgroup,a0
  2466.     move.l    MR,a2
  2467.     ENDM
  2468.  
  2469. ScrollgroupObject MACRO
  2470.     movem.l    a0/a2,-(sp)
  2471. MUIC_Scrollgroup_f SET 1
  2472.     lea    MUIC_Scrollgroup,a0
  2473.     move.l    MR,a2
  2474.     ENDM
  2475.  
  2476. PopstringObject MACRO
  2477.     movem.l    a0/a2,-(sp)
  2478. MUIC_Popstring_f SET 1
  2479.     lea    MUIC_Popstring,a0
  2480.     move.l    MR,a2
  2481.     ENDM
  2482.  
  2483. PopobjectObject MACRO
  2484.     movem.l    a0/a2,-(sp)
  2485. MUIC_Popobject_f SET 1
  2486.     lea    MUIC_Popobject,a0
  2487.     move.l    MR,a2
  2488.     ENDM
  2489.  
  2490. PoplistObject MACRO
  2491.     movem.l    a0/a2,-(sp)
  2492. MUIC_Poplist_f SET 1
  2493.     lea    MUIC_Poplist,a0
  2494.     move.l    MR,a2
  2495.     ENDM
  2496.  
  2497. PopaslObject MACRO
  2498.     movem.l    a0/a2,-(sp)
  2499. MUIC_Popasl_f SET 1
  2500.     lea    MUIC_Popasl,a0
  2501.     move.l    MR,a2
  2502.     ENDM
  2503.  
  2504. ScrmodelistObject MACRO
  2505.     movem.l    a0/a2,-(sp)
  2506. MUIC_Scrmodelist_f SET 1
  2507.     lea    MUIC_Scrmodelist,a0
  2508.     move.l    MR,a2
  2509.     ENDM
  2510.  
  2511. NumericbuttonObject MACRO
  2512.     movem.l    a0/a2,-(sp)
  2513. MUIC_Numericbutton_f SET 1
  2514.     lea    MUIC_Numericbutton,a0
  2515.     move.l    MR,a2
  2516.     ENDM
  2517.  
  2518. KnobObject MACRO
  2519.     movem.l    a0/a2,-(sp)
  2520. MUIC_Knob_f SET 1
  2521.     lea    MUIC_Knob,a0
  2522.     move.l    MR,a2
  2523.     ENDM
  2524.  
  2525. LevelmeterObject MACRO
  2526.     movem.l    a0/a2,-(sp)
  2527. MUIC_Levelmeter_f SET 1
  2528.     lea    MUIC_Levelmeter,a0
  2529.     move.l    MR,a2
  2530.     ENDM
  2531.  
  2532. PenadjustObject MACRO
  2533.     movem.l    a0/a2,-(sp)
  2534. MUIC_Penabjust_f SET 1
  2535.     lea    MUIC_Penabjust,a0
  2536.     move.l    MR,a2
  2537.     ENDM
  2538.  
  2539. PoppenObject MACRO
  2540.     movem.l    a0/a2,-(sp)
  2541. MUIC_Poppen_f SET 1
  2542.     lea    MUIC_Poppen,a0
  2543.     move.l    MR,a2
  2544.     ENDM
  2545.  
  2546. AboutmuiObject MACRO
  2547.     movem.l    a0/a2,-(sp)
  2548. MUIC_Aboutmui_f SET 1
  2549.     lea    MUIC_Aboutmui,a0
  2550.     move.l    MR,a2
  2551.     ENDM
  2552.  
  2553. KeyentryObject MACRO
  2554.     movem.l    a0/a2,-(sp)
  2555. MUIC_Keyentry_f SET 1
  2556.     lea    MUIC_Keyentry,a0
  2557.     move.l    MR,a2
  2558.     ENDM
  2559.  
  2560. VGroup    MACRO
  2561.     movem.l    a0/a2,-(sp)
  2562. MUIC_Group_f SET 1
  2563.     lea    MUIC_Group,a0
  2564.     move.l    MR,a2
  2565.     ENDM
  2566.  
  2567. HGroup    MACRO
  2568.     movem.l    a0/a2,-(sp)
  2569. MUIC_Group_f SET 1
  2570.     lea    MUIC_Group,a0
  2571.     move.l    MR,a2
  2572.     MUIT    MUIA_Group_Horiz,TRUE
  2573.     ENDM
  2574.  
  2575. ColGroup MACRO
  2576.     movem.l    a0/a2,-(sp)
  2577. MUIC_Group_f SET 1
  2578.     lea    MUIC_Group,a0
  2579.     move.l    MR,a2
  2580.     MUIT    MUIA_Group_Columns,\1
  2581.     ENDM
  2582.  
  2583. RowGroup MACRO
  2584.     movem.l    a0/a2,-(sp)
  2585. MUIC_Group_f SET 1
  2586.     lea    MUIC_Group,a0
  2587.     move.l    MR,a2
  2588.     MUIT    MUIA_Group_Rows,\1
  2589.     ENDM
  2590.  
  2591. PageGroup MACRO
  2592.     movem.l    a0/a2,-(sp)
  2593. MUIC_Group_f SET 1
  2594.     lea    MUIC_Group,a0
  2595.     move.l    MR,a2
  2596.     MUIT    MUIA_Group_PageMode,TRUE
  2597.     ENDM
  2598.  
  2599. VGroupV    MACRO
  2600.     movem.l    a0/a2,-(sp)
  2601. MUIC_Virtgroup_f SET 1
  2602.     lea    MUIC_Virtgroup,a0
  2603.     move.l    MR,a2
  2604.     ENDM
  2605.  
  2606. HGroupV    MACRO
  2607.     movem.l    a0/a2,-(sp)
  2608. MUIC_Virtgroup_f SET 1
  2609.     lea    MUIC_Virtgroup,a0
  2610.     move.l    MR,a2
  2611.     MUIT    MUIA_Group_Horiz,TRUE
  2612.     ENDM
  2613.  
  2614. ColGroupV MACRO
  2615.     movem.l    a0/a2,-(sp)
  2616. MUIC_Virtgroup_f SET 1
  2617.     lea    MUIC_Virtgroup,a0
  2618.     move.l    MR,a2
  2619.     MUIT    MUIA_Group_Columns,\1
  2620.     ENDM
  2621.  
  2622. RowGroupV MACRO
  2623.     movem.l    a0/a2,-(sp)
  2624. MUIC_Virtgroup_f SET 1
  2625.     lea    MUIC_Virtgroup,a0
  2626.     move.l    MR,a2
  2627.     MUIT    MUIA_Group_Rows,\1
  2628.     ENDM
  2629.  
  2630. PageGroupV MACRO
  2631.     movem.l    a0/a2,-(sp)
  2632. MUIC_Virtgroup_f SET 1
  2633.     lea    MUIC_Virtgroup,a0
  2634.     move.l    MR,a2
  2635.     MUIT    MUIA_Group_PageMode,TRUE
  2636.     ENDM
  2637.  
  2638. RegisterGroup MACRO
  2639.     movem.l    a0/a2,-(sp)
  2640. MUIC_Register_f SET 1
  2641.     lea    MUIC_Register,a0
  2642.     move.l    MR,a2
  2643.     MUIT    MUIA_Register_Titles,\1
  2644.     ENDM
  2645.  
  2646. Childi    MACRO
  2647.     cmv    MUIA_Group_Child
  2648.     \1 \2,\3,\4,\5
  2649.     ENDM
  2650. Child2    MACRO
  2651.     cmv    MUIA_Group_Child
  2652.     \1
  2653.     \2
  2654.     \3
  2655.     \4
  2656.     \5
  2657.     ENDM
  2658. Child3    MACRO
  2659.     cmv    MUIA_Group_Child
  2660.     \1
  2661.     \2 \3,\4,\5
  2662.     ENDM
  2663. SubWindowi MACRO
  2664.     cmv    MUIA_Application_Window
  2665.     ENDM
  2666. WindowContentsi MACRO
  2667.     cmv    MUIA_Window_RootObject
  2668.     ENDM
  2669.  
  2670.  
  2671. Child        EQU MUIA_Group_Child
  2672. SubWindow    EQU MUIA_Application_Window
  2673. WindowContents    EQU MUIA_Window_RootObject
  2674.  
  2675.  
  2676.  
  2677. ****************************************************************************
  2678. **
  2679. ** Frame Types
  2680. ** -----------
  2681. **
  2682. ** These macros may be used to specify one of MUI's different frame types.
  2683. ** Note that every macro consists of one or more { ti_Tag, ti_Data }
  2684. ** pairs.
  2685. **
  2686. ** GroupFrameT() is a special kind of frame that contains a centered
  2687. ** title text.
  2688. **
  2689. ** HGroup, GroupFrameT("Horiz Groups"),
  2690. **    Child, RectangleObject, TextFrame  , End,
  2691. **    Child, RectangleObject, StringFrame, End,
  2692. **    Child, RectangleObject, ButtonFrame, End,
  2693. **    Child, RectangleObject, ListFrame  , End,
  2694. **    End,
  2695. **
  2696. ****************************************************************************
  2697.  
  2698. ****************************************************************************
  2699. ***
  2700. *** Assembler version of the above C example:
  2701. ***
  2702. *** HGroup
  2703. ***    GroupFrameT horizg
  2704. ***    Child2 RectangleObject,TextFrame,Endi
  2705. ***    Child2 RectangleObject,StringFrame,Endi
  2706. ***    Child2 RectangleObject,ButtonFrame,Endi
  2707. ***    Child2 RectangleObject,ListFrame,Endi
  2708. ***    Endi
  2709. ***
  2710. *** horizg  dc.b  "Horiz Groups",0
  2711. ***    even
  2712. ***
  2713. ****************************************************************************
  2714.  
  2715. *** These macros call MUIT themselves, do not use eg. 'MUIT NoFrame'
  2716.  
  2717. NoFrame    MACRO
  2718.     MUIT    MUIA_Frame,MUIV_Frame_None
  2719.     ENDM
  2720. ButtonFrame MACRO
  2721.     MUIT    MUIA_Frame,MUIV_Frame_Button
  2722.     ENDM
  2723. ImageButtonFrame MACRO
  2724.     MUIT    MUIA_Frame,MUIV_Frame_ImageButton
  2725.     ENDM
  2726. TextFrame MACRO
  2727.     MUIT    MUIA_Frame,MUIV_Frame_Text
  2728.     ENDM
  2729. StringFrame MACRO
  2730.     MUIT    MUIA_Frame,MUIV_Frame_String
  2731.     ENDM
  2732. ReadListFrame MACRO
  2733.     MUIT    MUIA_Frame,MUIV_Frame_ReadList
  2734.     ENDM
  2735. InputListFrame MACRO
  2736.     MUIT    MUIA_Frame,MUIV_Frame_InputList
  2737.     ENDM
  2738. PropFrame MACRO
  2739.     MUIT    MUIA_Frame,MUIV_Frame_Prop
  2740.     ENDM
  2741. GaugeFrame MACRO
  2742.     MUIT    MUIA_Frame,MUIV_Frame_Gauge
  2743.     ENDM
  2744. GroupFrame MACRO
  2745.     MUIT    MUIA_Frame,MUIV_Frame_Group
  2746.     ENDM
  2747. GroupFrameT MACRO
  2748.     MUIT    MUIA_Frame,MUIV_Frame_Group,MUIA_Frame_Title,\1
  2749.     ENDM
  2750. VirtualFrame MACRO
  2751.     MUIT    MUIA_Frame,MUIV_Frame_Virtual
  2752.     ENDM
  2753.  
  2754.  
  2755. ****************************************************************************
  2756. **
  2757. ** Spacing Macros
  2758. ** --------------
  2759. **
  2760. ****************************************************************************
  2761.  
  2762. *** For these macros tagitem space is allocated from the stack and is
  2763. *** fixed in size.  So, there is no need for a separate Endi call.
  2764.  
  2765. HVSpace    MACRO
  2766.     move.l    a0,-(sp)
  2767. MUIC_Rectangle_f SET 1
  2768.     lea    MUIC_Rectangle,a0
  2769.     clr.l    -(sp)
  2770.     move.l    sp,a1
  2771.     CALLMUI    MUI_NewObjectA
  2772.     addq.l    #4,sp
  2773.     move.l    (sp)+,a0
  2774.     MUIT2    d0
  2775.     ENDM
  2776.    
  2777. HSpace    MACRO
  2778.     MakeObj    MUIO_HSpace,\1
  2779.     ENDM
  2780.  
  2781. VSpace    MACRO
  2782.     MakeObj    MUIO_VSpace,\1
  2783.     ENDM
  2784.  
  2785. HCenter    MACRO
  2786.     HGroup
  2787.     GroupSpacing    0
  2788.     Childi    HSpace,0
  2789.     Childi    MUIT2,\1
  2790.     Childi    HSpace,0
  2791.     Endi
  2792.     ENDM
  2793.  
  2794. VCenter    MACRO
  2795.     VGroup
  2796.     GroupSpacing    0
  2797.     Childi    VSpace,0
  2798.     Childi    MUIT2,\1
  2799.     Childi    VSpace,0
  2800.     Endi
  2801.     ENDM
  2802.  
  2803. InnerSpacing MACRO
  2804.     MUIT    MUIA_InnerLeft,\1
  2805.     MUIT    MUIA_InnerRight,\1
  2806.     MUIT    MUIA_InnerTop,\2
  2807.     MUIT    MUIA_InnerBottom,\2
  2808.     ENDM
  2809.  
  2810. GroupSpacing MACRO
  2811.     MUIT    MUIA_Group_Spacing,\1
  2812.     ENDM
  2813.  
  2814.  
  2815.  
  2816. ****************************************************************************
  2817. ***
  2818. *** You use these assembler macros like this:
  2819. ***
  2820. *** String mystr1,40
  2821. ***
  2822. *** CheckMark TRUE
  2823. ***
  2824. *** SimpleButton mysbut1
  2825. ***
  2826. *** KeyButton mykbut1,"c"
  2827. ***
  2828. *** Cycle myentr1
  2829. ***
  2830. *** KeyCycle myentr1,"k"
  2831. ***
  2832. *** Radio rname1,rbuts1
  2833. ***
  2834. *** String mystr1,35
  2835. *** is strobj1
  2836. *** Popup ST_Font,strobj1,MyHook,MUII_Popup
  2837. ***
  2838. ***
  2839. *** MyHook  rts   ; dummy hook, does nothing
  2840. *** mysrt1  dc.b  "String contents",0
  2841. ***    even
  2842. *** mysbut1 dc.b  "Button",0
  2843. ***    even
  2844. *** mykbut1 dc.b  "Cancel",0
  2845. ***    even
  2846. *** myentr1 dc.l  entrs1,entrs2,entrs3,NULL
  2847. *** entrs1  dc.b  "One",0
  2848. *** entrs2  dc.b  "Two",0
  2849. *** entrs3  dc.b  "Three",0
  2850. ***    even
  2851. *** rname1  dc.b  "Radio Buttons:",0
  2852. ***    even
  2853. *** rbuts1  dc.l  rbut1,rbut2,rbut3,NULL
  2854. *** rbut1   dc.b  "Button1",0
  2855. ***    even
  2856. *** rbut2   dc.b  "Button2",0
  2857. ***    even
  2858. *** rbut3   dc.b  "Button3",0
  2859. ***    even
  2860. *** strobj  dc.l  0
  2861. *** ST_Font dc.l  0
  2862. ***
  2863. ***
  2864. ****************************************************************************
  2865.  
  2866. ****************************************************************************
  2867. **
  2868. ** String-Object
  2869. ** -------------
  2870. **
  2871. ** The following macro creates a simple string gadget.
  2872. **
  2873. ****************************************************************************
  2874.  
  2875. String    MACRO
  2876.     StringObject
  2877.     StringFrame
  2878.     MUIT    MUIA_String_MaxLen,\2
  2879.     MUIT    MUIA_String_Contents,\1
  2880.     Endi
  2881.     ENDM
  2882.  
  2883. KeyString MACRO
  2884.     StringObject
  2885.     StringFrame
  2886.     MUIT    MUIA_ControlChar,\3
  2887.     MUIT    MUIA_String_MaxLen,\2
  2888.     MUIT    MUIA_String_Contents,\1
  2889.     Endi
  2890.     ENDM
  2891.  
  2892. ****************************************************************************
  2893. **
  2894. ** CheckMark-Object
  2895. ** ----------------
  2896. **
  2897. ** The following macro creates a checkmark gadget.
  2898. **
  2899. ****************************************************************************
  2900.  
  2901. CheckMark MACRO
  2902.     ImageObject
  2903.     ImageButtonFrame
  2904.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  2905.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  2906.     MUIT    MUIA_Image_FreeVert,TRUE
  2907.     MUIT    MUIA_Selected,\1
  2908.     MUIT    MUIA_Background,MUII_ButtonBack
  2909.     MUIT    MUIA_ShowSelState,FALSE
  2910.     Endi
  2911.     ENDM
  2912.  
  2913. KeyCheckMark MACRO
  2914.     ImageObject
  2915.     ImageButtonFrame
  2916.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  2917.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  2918.     MUIT    MUIA_Image_FreeVert,TRUE
  2919.     MUIT    MUIA_Selected,\1
  2920.     MUIT    MUIA_Background,MUII_ButtonBack
  2921.     MUIT    MUIA_ShowSelState,FALSE
  2922.     MUIT    MUIA_ControlChar,\2
  2923.     Endi
  2924.     ENDM
  2925.  
  2926.  
  2927. ****************************************************************************
  2928. **
  2929. ** Button-Objects
  2930. ** --------------
  2931. **
  2932. ** Note: Use small letters for KeyButtons, e.g.
  2933. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  2934. **
  2935. ****************************************************************************
  2936.  
  2937. SimpleButton MACRO
  2938.     MakeObj    MUIO_Button,\1
  2939.     ENDM
  2940.  
  2941. KeyButton MACRO
  2942.     TextObject
  2943.     ButtonFrame
  2944.     MUIT    MUIA_Text_Contents,\1
  2945.     MUIT    MUIA_Text_PreParse,PreParse
  2946.     MUIT    MUIA_Text_SetMax,FALSE
  2947.     MUIT    MUIA_Text_HiChar,\2
  2948.     MUIT    MUIA_ControlChar,\2
  2949.     MUIT    MUIA_InputMode,MUIV_InputMode_RelVerify
  2950.     MUIT    MUIA_Background,MUII_ButtonBack
  2951.     Endi
  2952.     ENDM
  2953.  
  2954.  
  2955. ****************************************************************************
  2956. **
  2957. ** Cycle-Object
  2958. ** ------------
  2959. **
  2960. ****************************************************************************
  2961.  
  2962. Cycle    MACRO
  2963.     CycleObject
  2964.     MUIT    MUIA_Cycle_Entries,\1
  2965.     Endi
  2966.     ENDM
  2967.  
  2968. KeyCycle MACRO
  2969.     CycleObject
  2970.     MUIT    MUIA_Cycle_Entries,\1
  2971.     MUIT    MUIA_ControlChar,\2
  2972.     Endi
  2973.     ENDM
  2974.  
  2975.  
  2976.  
  2977. ****************************************************************************
  2978. **
  2979. ** Popup-Object
  2980. ** ------------
  2981. **
  2982. ** An often needed GUI element is a string gadget with a little button
  2983. ** that opens up a (small) window with a list containing possible entries
  2984. ** for this gadget. Together with the Popup and the String macro,
  2985. ** such a thing would look like
  2986. **
  2987. ** VGroup,
  2988. **    Child, Popup(ST_Font, String("helvetica/13",32), &Hook, MUII_Popup),
  2989. **    ...,
  2990. **
  2991. ** ST_Font will hold a pointer to the embedded string gadget and can
  2992. ** be used to set and get its contents as with every other string object.
  2993. **
  2994. ** The hook will be called with the string gadget as object whenever
  2995. ** the user releases the popup button and could look like this:
  2996. **
  2997. ** ULONG __asm __saveds HookFunc(register __a2 APTR obj,MUII_File)
  2998. ** {
  2999. **    ...
  3000. **
  3001. **    // put our application to sleep while displaying the requester
  3002. **    set(Application,MUIA_Application_Sleep,TRUE);
  3003. **
  3004. **    // get the calling objects window and position
  3005. **    get(obj,MUIA_Window  ,&window);
  3006. **    get(obj,MUIA_LeftEdge,&l);
  3007. **    get(obj,MUIA_TopEdge ,&t);
  3008. **    get(obj,MUIA_Width   ,&w);
  3009. **    get(obj,MUIA_Height  ,&h);
  3010. **
  3011. **    if (req=MUI_AllocAslRequestTags(ASL_FontRequest,TAG_DONE))
  3012. **    {
  3013. **       if (MUI_AslRequestTags(req,
  3014. **     ASLFO_Window    ,window,
  3015. **     ASLFO_PrivateIDCMP   ,TRUE,
  3016. **     ASLFO_TitleText      ,"Select Font",
  3017. **     ASLFO_InitialLeftEdge,window->LeftEdge + l,
  3018. **     ASLFO_InitialTopEdge ,window->TopEdge  + t+h,
  3019. **     ASLFO_InitialWidth   ,w,
  3020. **     ASLFO_InitialHeight  ,250,
  3021. **     TAG_DONE))
  3022. **       {
  3023. **     // set the new contents for our string gadget
  3024. **     set(obj,MUIA_String_Contents,req->fo_Attr.ta_Name);
  3025. **       }
  3026. **       MUI_FreeAslRequest(req);
  3027. **    }
  3028. **
  3029. **    // wake up our application again
  3030. **    set(Application,MUIA_Application_Sleep,FALSE);
  3031. **
  3032. **    return(0);
  3033. ** }
  3034. **
  3035. ** Note: This macro needs a "APTR dummy;" declaration somewhere in your
  3036. **       code to work.
  3037. **
  3038. ****************************************************************************
  3039.  
  3040. PopButton MACRO
  3041.     MakeObj    MUIO_PopButton,\1
  3042.     ENDM
  3043.  
  3044.  
  3045. ****************************************************************************
  3046. **
  3047. ** Labeling Objects
  3048. ** ----------------
  3049. **
  3050. ** Labeling objects, e.g. a group of string gadgets,
  3051. **
  3052. **   Small: |foo   |
  3053. **  Normal: |bar   |
  3054. **     Big: |foobar|
  3055. **    Huge: |barfoo|
  3056. **
  3057. ** is done using a 2 column group:
  3058. **
  3059. ** ColGroup(2),
  3060. **    Child, Label2("Small:" ),
  3061. **    Child, StringObject, End,
  3062. **    Child, Label2("Normal:"),
  3063. **    Child, StringObject, End,
  3064. **    Child, Label2("Big:"   ),
  3065. **    Child, StringObject, End,
  3066. **    Child, Label2("Huge:"  ),
  3067. **    Child, StringObject, End,
  3068. **    End,
  3069. **
  3070. ** Note that we have three versions of the label macro, depending on
  3071. ** the frame type of the right hand object:
  3072. **
  3073. ** Label1(): For use with standard frames (e.g. checkmarks).
  3074. ** Label2(): For use with double high frames (e.g. string gadgets).
  3075. ** Label() : For use with objects without a frame.
  3076. **
  3077. ** These macros ensure that your label will look fine even if the
  3078. ** user of your application configured some strange spacing values.
  3079. ** If you want to use your own labeling, you'll have to pay attention
  3080. ** on this topic yourself.
  3081. **
  3082. ****************************************************************************
  3083.  
  3084. ****************************************************************************
  3085. ***
  3086. *** And the above C example in assembler:
  3087. ***
  3088. *** ColGroup 2
  3089. ***   Childi Label2,small
  3090. ***   Child2 StringObject,Endi
  3091. ***   Childi Label2,normal
  3092. ***   Child2 StringObject,Endi
  3093. ***   Childi Label2,big
  3094. ***   Child2 StringObject,Endi
  3095. ***   Childi Label2,huge
  3096. ***   Child2 StringObject,Endi
  3097. ***   Endi
  3098. ***
  3099. *** small   dc.b  "Small:",0
  3100. ***    even
  3101. *** normal  dc.b  "Normal:",0
  3102. ***    even
  3103. *** big     dc.b  "Big:",0
  3104. ***    even
  3105. *** huge    dc.b  "Huge:",0
  3106. ***    even
  3107. ***
  3108. ****************************************************************************
  3109.  
  3110.  
  3111.  
  3112. Label    MACRO
  3113.     MakeObj    MUIO_Label,\1,0
  3114.     ENDM
  3115.  
  3116. Label1    MACRO
  3117.     MakeObj    MUIO_Label,\1,MUIO_Label_SingleFrame
  3118.     ENDM
  3119.  
  3120. Label2    MACRO
  3121.     MakeObj    MUIO_Label,\1,MUIO_Label_DoubleFrame
  3122.     ENDM
  3123.  
  3124. LLabel    MACRO
  3125.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned
  3126.     ENDM
  3127.  
  3128. LLabel1    MACRO
  3129.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned|MUIO_Label_SingleFrame
  3130.     ENDM
  3131.  
  3132. LLabel2    MACRO
  3133.     MakeObj    MUIO_Label,\1,MUIO_LeftAligned|MUIO_Label_DoubleFrame
  3134.     ENDM
  3135.  
  3136. CLabel    MACRO
  3137.     MakeObj    MUIO_Label,\1,MUIO_Centered
  3138.     ENDM
  3139.  
  3140. CLabel1    MACRO
  3141.     MakeObj    MUIO_Label,\1,MUIO_Centered|MUIO_Label_SingleFrame
  3142.     ENDM
  3143.  
  3144. CLabel2    MACRO
  3145.     MakeObj    MUIO_Label,\1,MUIO_Centered|MUIO_Label_DoubleFrame
  3146.     ENDM
  3147.  
  3148. FreeLabel    MACRO
  3149.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert
  3150.     ENDM
  3151.  
  3152. FreeLabel1    MACRO
  3153.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Label_SingleFrame
  3154.     ENDM
  3155.  
  3156. FreeLabel2    MACRO
  3157.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Label_DoubleFrame
  3158.     ENDM
  3159.  
  3160. FreeLLabel    MACRO
  3161.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned
  3162.     ENDM
  3163.  
  3164. FreeLLabel1    MACRO
  3165.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned|MUIO_Label_SingleFrame
  3166.     ENDM
  3167.  
  3168. FreeLLabel2    MACRO
  3169.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_LeftAligned|MUIO_Label_DoubleFrame
  3170.     ENDM
  3171.  
  3172. FreeCLabel    MACRO
  3173.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered
  3174.     ENDM
  3175.  
  3176. FreeCLabel1    MACRO
  3177.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered|MUIO_Label_SingleFrame
  3178.     ENDM
  3179.  
  3180. FreeCLabel2    MACRO
  3181.     MakeObj    MUIO_Label,\1,MUIO_Label_FreeVert|MUIO_Centered|MUIO_Label_DoubleFrame
  3182.     ENDM
  3183.  
  3184. KeyLabel MACRO
  3185.     TextObject
  3186.     MUIT    MUIA_Text_PreParse,PreParse2
  3187.     MUIT    MUIA_Text_Contents,\1
  3188.     MUIT    MUIA_Weight,0
  3189.     MUIT    MUIA_InnerLeft,0
  3190.     MUIT    MUIA_InnerRight,0,
  3191.     MUIT    MUIA_Text_HiChar,\2
  3192.     Endi
  3193.     ENDM
  3194.  
  3195. KeyLabel1 MACRO
  3196.     TextObject
  3197.     ButtonFrame
  3198.     MUIT    MUIA_Text_PreParse,PreParse2
  3199.     MUIT    MUIA_Text_Contents,\1
  3200.     MUIT    MUIA_Weight,0
  3201.     MUIT    MUIA_InnerLeft,0
  3202.     MUIT    MUIA_InnerRight,0
  3203.     MUIT    MUIA_Text_HiChar,\2
  3204.     MUIT    MUIA_FramePhantomHoriz,TRUE
  3205.     Endi
  3206.     ENDM
  3207.  
  3208. KeyLabel2 MACRO
  3209.     TextObject
  3210.     StringFrame
  3211.     MUIT    MUIA_Text_PreParse,PreParse2
  3212.     MUIT    MUIA_Text_Contents,\1
  3213.     MUIT    MUIA_Weight,0
  3214.     MUIT    MUIA_InnerLeft,0
  3215.     MUIT    MUIA_InnerRight,0
  3216.     MUIT    MUIA_Text_HiChar,\2
  3217.     MUIT    MUIA_FramePhantomHoriz,TRUE
  3218.     Endi
  3219.     ENDM
  3220.  
  3221.  
  3222. ***************************************************************************
  3223. **
  3224. ** Radio-Object
  3225. ** ------------
  3226. **
  3227. ***************************************************************************
  3228.  
  3229. Radio    MACRO
  3230.     RadioObject
  3231.     GroupFrameT    \1
  3232.     MUIT    MUIA_Radio_Entries,\2
  3233.     MUIT    MUIA_Background,MUII_GroupBack
  3234.     Endi
  3235.     ENDM
  3236.  
  3237. KeyRadio MACRO
  3238.     RadioObject
  3239.     GroupFrameT    \1
  3240.     MUIT    MUIA_Radio_Entries,\2
  3241.     MUIT    MUIA_ControlChar,\3
  3242.     MUIT    MUIA_Background,MUII_GroupBack
  3243.     Endi
  3244.     ENDM    
  3245.  
  3246.  
  3247.  
  3248. ***************************************************************************
  3249. **
  3250. ** Slider-Object
  3251. ** -------------
  3252. **
  3253. ***************************************************************************
  3254.  
  3255.  
  3256. Slider    MACRO
  3257.     SliderObject
  3258.     MUIT    MUIA_Numeric_Min,\1
  3259.     MUIT    MUIA_Numeric_Max,\2
  3260.     MUIT    MUIA_Numeric_Value,\3
  3261.     Endi
  3262.     ENDM   
  3263.  
  3264. KeySlider MACRO
  3265.     SliderObject
  3266.     MUIT    MUIA_Numeric_Min, \1
  3267.     MUIT    MUIA_Numeric_Max, \2
  3268.     MUIT    MUIA_Numeric_Value, \3
  3269.     MUIT    MUIA_ControlChar, \4
  3270.     Endi
  3271.     ENDM
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277. ****************************************************************************
  3278. **
  3279. ** Controlling Objects
  3280. ** -------------------
  3281. **
  3282. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  3283. ** calls:
  3284. **
  3285. ** {
  3286. **    char *x;
  3287. **
  3288. **    set(obj,MUIA_String_Contents,"foobar");
  3289. **    get(obj,MUIA_String_Contents,&x);
  3290. **
  3291. **    printf("gadget contains '%s'\n",x);
  3292. ** }
  3293. **
  3294. ****************************************************************************
  3295.  
  3296. ****************************************************************************
  3297. ***
  3298. *** And the above C example in assembler:
  3299. ***
  3300. *** seti obj,#MUIA_String_Contents,#foobar
  3301. *** geti obj,#MUIA_String_Contents,#x
  3302. ***   move.l   #myfmt,d1
  3303. ***   move.l   #data,d2
  3304. ***   CALLDOS VPrintf
  3305. ***
  3306. *** foobar     dc.b  "foobar",0
  3307. ***       even
  3308. *** data       dc.l  x
  3309. *** x     dcb.b 10
  3310. *** myfmt      dc.b  "gadget contains '%s'",10,0
  3311. ***       even
  3312. ***
  3313. *** The names of the set and get macros have been changed to seti and geti
  3314. *** since most assemblers already have the pseudo op-code SET.
  3315. *** Note that seti is designed to take multiple tagitems (max 8).
  3316. ***
  3317. ****************************************************************************
  3318.  
  3319. geti    MACRO
  3320.     move.l    \2,d0
  3321.     move.l    \1,a0
  3322.     move.l    \3,a1
  3323.     move.l    _IntuitionBase,a6
  3324.     CALLINT    GetAttr
  3325.     ENDM
  3326.  
  3327. seti    MACRO
  3328.     move.l    a2,-(sp)
  3329.     move.l    sp,a2
  3330.     clr.l    -(sp)
  3331.     cmv3    \3
  3332.     cmv3    \2
  3333.     move.l    \1,a0
  3334.     move.l    sp,a1
  3335.     move.l    _IntuitionBase,a6
  3336.     CALLINT SetAttrsA
  3337.     move.l    a2,sp
  3338.     move.l    (sp)+,a2
  3339.     ENDM
  3340.  
  3341. nnseti    MACRO
  3342.     move.l    a2,-(sp)
  3343.     move.l    sp,a2
  3344.     clr.l    -(sp)
  3345.     cmv3    \3
  3346.     cmv3    \2
  3347.     cmv3    #TRUE
  3348.     cmv3    #MUIA_NoNotify
  3349.     move.l    \1,a0
  3350.     move.l    sp,a1
  3351.     move.l    _IntuitionBase,a6
  3352.     CALLINT SetAttrsA
  3353.     move.l    a2,sp
  3354.     move.l    (sp)+,a2
  3355.     ENDM
  3356.  
  3357. setmutex MACRO
  3358.     seti    \1,#MUIA_Radio_Active,\2
  3359.     ENDM
  3360. setcycle MACRO
  3361.     seti    \1,#MUIA_Cycle_Active,\2
  3362.     ENDM
  3363. setstring MACRO
  3364.     seti    \1,#MUIA_String_Contents,\2
  3365.     ENDM
  3366. setcheckmark MACRO
  3367.     seti    \1,#MUIA_Selected,\2
  3368.     ENDM
  3369. setslider MACRO
  3370.     seti    \1,#MUIA_Numeric_Value,\2
  3371.     ENDM
  3372.  
  3373.  
  3374.    ENDC  ;MUI_NOSHORTCUTS
  3375.  
  3376.  
  3377. * End of Include file, for using MUI from an application program. The rest
  3378. * of this is for custom class implementors only
  3379. *
  3380. *****************************************************************************
  3381. *****************************************************************************
  3382. *****************************************************************************
  3383.  
  3384.  
  3385.    ENDC  ;LIBRARIES_MUI_I
  3386.